최적화는 비단 컴파일러만 수행하는 것이 아닌 하드웨어에 의해서도 수행됩니다.하드웨어가 판단하기에 빠르게 처리할 수 있는 코드의 경우 기존의 순서를 무시하고 우선 처리하게 됩니다,이는 싱글 스레드에서는 의미가 없지만,여러 개의 스레드가 각기 다른 작업을 처리하는 멀티 스레드 환경에서는 매우 큰 위험이 됩니다. 아래의 코드를 한번 살펴보겠습니다.class Program{ static int x = 0; static int y = 0; static int result1 = 0; static int result2 = 0; static void Thread_1() { y = 1; result1 = x; } static void Thread_2()..