콘텐츠로 건너뛰기

[리눅스] C언어 쓰레드(Thread) 사용법 및 예제!

// 쓰레드 변수 선언
pthread_t firstThread;
int threadErr;

// 쓰레드 동작시 실행될 함수
void *threadRun()
{
printf(“start Thread”);
}

// 쓰레드를 만들고 쓰레드 함수 실행
if(threadErr = pthread_create(&firstThread,NULL,threadRun,NULL))
{
// 에러시 에러 출력
printf(“Thread Err = %d”,threadErr);
}

그리고 빌드시 옵션에 -pthread를 주고 빌드 하시면 됩니다
밑은 간단한 사용예제입니다

#include <stdio.h>
#include <pthread.h>
#include <time.h>
 
 
// 쓰레드 동작시 실행될 함수
void *firstThreadRun()
{
    while(1)
    {
        sleep(1);
        printf("start First Thread\n");
    }
}
 
void *secondThreadRun()
{
    while(1)
    {
        sleep(3);
        printf("start Second Thread\n");
    }
}
 
int main()
{
    pthread_t firstThread, seconThread;
    int threadErr;
    
    
    // 쓰레드를 만들고 쓰레드 함수 실행
    if(threadErr = pthread_create(&firstThread,NULL,firstThreadRun,NULL))
    {
        // 에러시 에러 출력
        printf("Thread Err = %d",threadErr);
    }
    
    if(threadErr = pthread_create(&seconThread,NULL,secondThreadRun,NULL))
    {
        // 에러시 에러 출력
        printf("Thread Err = %d",threadErr);
    }
    
    while(1);
    
}

컴파일 방법과 간단한 예제 실행 결과입니다
컴파일 하실때 -pthread 옵션 주시는거 잊지마세요~