본문 바로가기

반응형

데이터 경쟁

스레드2 reference. 캄란 아미니 - 전문가를 위한 C [스레드]- 모든 스레드는 프로세스에 의해 시작되며, 프로세스에서 벗어날 수 없다. 스레드를 공유하거나 스레드의 소유권을 다른 프로세스에 넘길 수 없다는 뜻이다. 모든 프로세스는 최소한 하나의 스레드를 가지며 이를 메인 스레드(main thread)라고 한다. C 프로그램에서 main 함수는 메인 스레드에 속해서 실행된다. 모든 스레드는 같은 프로세스ID (PID) 를 공유한다. top 또는 htop 과 같은 유틸리니를 사용할 때, 스레드들이 같은 프로세스 ID를 공유하며 해당 ID 및으로 스레드가 모인다는 것은 쉽게 확인할 수 있다. 그 뿐만 아니라 소유자 프로세스의 모든 속성은 스레드가 상속받을 수 있는데, 이러한 속성에는 그룹 ID, 사용자 ID.. 더보기
동시성 reference. 캄란 아미니 - 전문가를 위한 C [동시성]- 동시에 실행되는 프로그램 내부에 여러 로직이 있다는 의미로 동시성은 동시에 여러 작업을 처리할 수 있는 프로그램을 작성하는 강력한 도구이다. 동시성은 주로 커널에서 지원한다. 동시성을 논하면 같이 따라오는 것이 '병렬성'이다. 동시성 == 병렬성 으로 생각 할 수도 있는데, 이는 엄연히 다르다고 볼 수 있다. [병렬성]- 동시에 또는 병렬적으로 실행하는 두 작업이 있음을 의미로, 즉 두가지가 동시에 발생한다는 의미이다(동시 시스템은 이에 해당하지 않는다) 이정도로는 사실 뭐가 크게 다른지는 감이 오질않는다.둘의 구분은 두 작업을 실행할 때 '일시 정지'가 발생하냐 안하냐로 받아들이면 이해하는데 도움이 된다. 예를 들어 책을 읽는 것으로 비.. 더보기

반응형