2014-01-23 1 views
2

C# 용 x86-x64, ARM, ECMA 메모리 모델 간의 차이점에 대해 많이 읽었습니다. 실제 세계 최고의 실천 사례는 무엇입니까? 강력한 x86-x64 모델 또는 약한 ECMA에 따라 개발할 수 있습니까? x86- x64 하드웨어에서만 실행되는 응용 프로그램의 재정렬, 부실 값, 안전한 게시를 고려해야합니까?C# : x86-x64 메모리 모델 vs ECMA

답변

4

C# 용 x86-x64, ARM, ECMA 메모리 모델의 차이점에 대해 많이 읽었습니다. 실제 세계 최고의 실천 사례는 무엇입니까? 강력한 x86-x64 모델 또는 약한 ECMA에 따라 개발할 수 있습니까? x86- x64 하드웨어에서만 실행되는 응용 프로그램의 재정렬, 부실 값, 안전한 게시를 고려해야합니까?

가장 좋은 방법은 이 올바른이되도록 코드를 작성하는 것입니다.

으로 올바른 코드를 쓰려면 멀티 스레드 공유 메모리 코드을 쓰지 않도록 선택하십시오. 그것이 내가 당신에게도하도록 권하는 것입니다.

멀티 스레드 공유 메모리 코드를 작성해야한다면 메모리 모델의 복잡성을 이해하는 대신 작업 병렬 라이브러리와 같은 고급 라이브러리를 사용하는 것이 좋습니다.

강력한 메모리 모델에서만 올바른 저수준 공유 메모리 다중 스레드 코드를 작성하려는 경우 글쎄, 나는 당신을 막을 수는 없지만 그렇게하려면 엄청난 양의 작업이 필요합니다. ARM에서 실행하려고하면 미묘한 버그가있는 프로그램입니다.