cpu는 알다싶이 한번에 하나씩 명령을 실행함
엥? 근데 작업관리자 열어보면 여러 프로세스가 실행되고있는데 이건 어떻게 된거임?
그건 우리는 인지할수없는 속도로 여러 프로세스들이 존내게 빨리 돌아가면서 실행되기 때문임 동시에 프로세스들이 실행되고 있는게 아님
이게 프로세스와 쓰레드에도 동일하게 적용되는데 프로세스들이 자기 차례가 됐을때 스레드가 일을하는데 그 전에 일을했던 기록을 가지고 다시 일을함 근데 이게 싱글 쓰레드에선
일을 하는 주체가 하나밖에 없기때문에 너가 메인함수에서 실행하는 코드들은 항상 순서가 보장되는거임 근데 쓰레드를 추가하게 되면
그림으로는 이렇게 되고 이때부턴 cpu가 프로세스에게 하나 찝어서 일을 시키듯이 프로세스도 쓰레드별로 하나 찝어서 일을 하게 됨
따라서 메인함수의 흐름과 별도의 실행흐름이 생긴거고 당연히 t1.Start()를 했을때 이 t1쓰레드와는 관계없이 원래 있던 쓰레드는 시간을 부여받으면 다음 코드를 실행하겠지
너가 생성한 t1쓰레드도 프로세스에게 시간을 부여받으면 너가 t1쓰레드에게 시킨 일을 실행할거임
메인함수의 흐름과 별도의 실행흐름 << 완벽한 설명 ㄱㅅㄱㅅ 고맙다