posix thread 예제

올바르게 구현된 경우 스레드는 프로세스에 비해 몇 가지 장점이 있습니다. 표준 포크()에 비해 스레드는 오버헤드가 훨씬 적습니다. 다중 스레드 프로그램이 실행을 시작하면 프로그램의 main() 함수를 실행하는 스레드가 하나 있습니다. 이것은 이미 자체 스레드 ID가있는 본격적인 스레드입니다. 새 스레드를 만들려면 프로그램에서 pthread_create() 함수를 사용해야 합니다. 사용 방법은 다음과 같습니다: 공유 메모리 멀티프로세서 아키텍처에서 스레드를 사용하여 병렬 처리를 구현할 수 있습니다. 지금까지 하드웨어 공급업체는 자체 적인 버전의 스레드를 구현하여 이식성을 소프트웨어 개발자에게 주어왔습니다. UNIX 시스템의 경우 IEEE POSIX 1003.1c 표준에 의해 표준화된 C 언어 스레드 프로그래밍 인터페이스가 지정되었습니다. 이 표준을 준수하는 구현을 POSIX 스레드 또는 Pthread라고 합니다. 여기서 pthread_create는 새 스레드를 만들고 실행 가능하게 만듭니다.

이 루틴은 코드 내의 어느 곳에서나 여러 번 호출할 수 있습니다. 여기에 매개 변수의 설명입니다 – […] : 또한 나는 Câ€의 pthreads에서 예를 복사한 최소한의 작업 예제를 실행하고 실행하려고하지만 pthread_join에서 동일한 오류가 […] 스레드는 자체 스택을 가지며 지정된 코드 조각을 실행하는 세미 프로세스입니다. 실제 프로세스와 달리 스레드는 일반적으로 다른 스레드와 메모리를 공유합니다(프로세스의 경우 일반적으로 각 스레드에 대해 서로 다른 메모리 영역이 있음). 스레드 그룹은 모두 동일한 프로세스 내에서 실행되는 스레드 집합입니다. 모두 동일한 메모리를 공유하므로 동일한 전역 변수, 동일한 힙 메모리, 동일한 파일 설명자 집합 등에 액세스할 수 있습니다. 이러한 모든 스레드는 병렬로 실행됩니다(예: 시간 조각을 사용하거나 시스템에 여러 프로세서가 있는 경우 실제로 병렬로 실행). 예제 프로그램에서 주 스레드는 10개의 스레드를 만듭니다. 그런 다음 스레드가 종료될 때까지 기다렸다가 각 스레드에서 반환된 상태를 인쇄합니다. 마지막 스레드가 출력에 기록된 취소되었습니다. 이 예제에서는 구조를 통해 여러 인수를 전달하는 방법을 보여 주며 있습니다.

다음 예제에서 설명한 대로 void를 가리키기 때문에 스레드 콜백에 데이터 형식을 전달할 수 있습니다. 즉, 시스템의 스레드를 식별하는 데 사용되는 정수인 pthread_t 형식입니다. thread_id를 선언한 후 pthread_create() 함수를 호출하여 스레드를 만듭니다. pthread_create()는 4개의 인수를 사용합니다. 첫 번째 인수는 이 함수에 의해 설정된 thread_id에 대한 포인터입니다. 두 번째 인수는 특성을 지정합니다. 값이 NULL이면 기본 특성이 사용됩니다. 세 번째 인수는 스레드를 만들 수 있도록 실행할 함수의 이름입니다. 네 번째 인수는 함수 myThreadFun에 인수를 전달하는 데 사용됩니다.

Condividi
Questo articolo è stato pubblicato in Senza categoria . Bookmark permalink .
error

Ti piace quello che facciamo? Ti prego, spargi la voce!