본문 바로가기
반응형

멀티쓰레드2

[C언어] pthread 라이브러리를 이용해서 스레드에게 signal 보내기 Sending a Signal to Thread멀티 쓰레드 환경에서 시그널을 보내는 방법과 이를 다루는 코드 예제를 알아본다.기본 환경아래는 간단한 멀티 쓰레드 환경을 구현한 코드이다.세 개의 쓰레드가 각각 thread1, thread2, thread3 함수를 실행하며, 각 함수는 무한 루프 내에서 메시지를 출력한다. void* thread1(void *data){ while(1){ printf("thread 1\n"); sleep(2); }}void* thread2(void *data){ while(1){ printf("thread 2\n"); sleep(2); }}void* thread3(void *data){ while(1.. 2025. 1. 28.
[C언어] 스레드의 개념과 pthread 라이브러리 Thread 개요실행의 최소 단위이고 함수를 실행한다.자체적인 논리적인 control flow를 가진다.각각 쓰레드는 자체의 스택과 지역변수를 가지지만 다른 쓰레드에게 보호받지 않는다.각각 쓰레드는 자체의 TID(thread ID)를 가진다.각각 쓰레드는 프로세스의 context에 실행되며 global data와 같은 코드를 공유한다.통상적으로 프로세스보다 더 오버헤드가 작다(경량화).가상 주소 공간 비교왼쪽은 프로세스가 2개일 때이고, 오른쪽은 하나의 프로세스 영역에서 User stack에 Thread1, Thread2가 할당되는 것을 볼 수 있다.같은 프로세스의 data, code, heap 공유독자적인 stack, PC, 레지스터를 할당받음.fork vs exec vs pthread_createfo.. 2025. 1. 28.