thread_basic.c

Download
c 56 lines 1.1 KB
 1// thread_basic.c
 2// κΈ°λ³Έ μŠ€λ ˆλ“œ ν”„λ‘œκ·Έλž¨
 3
 4#include <stdio.h>
 5#include <stdlib.h>
 6#include <pthread.h>
 7#include <unistd.h>
 8
 9// μŠ€λ ˆλ“œ ν•¨μˆ˜
10void* print_message(void* arg) {
11    char* message = (char*)arg;
12
13    for (int i = 0; i < 5; i++) {
14        printf("[μŠ€λ ˆλ“œ] %s - %d\n", message, i);
15        sleep(1);
16    }
17
18    return NULL;
19}
20
21int main(void) {
22    pthread_t thread;
23    const char* msg = "Hello from thread";
24
25    printf("=== κΈ°λ³Έ μŠ€λ ˆλ“œ 예제 ===\n\n");
26
27    // μŠ€λ ˆλ“œ 생성
28    int result = pthread_create(&thread, NULL, print_message, (void*)msg);
29    if (result != 0) {
30        fprintf(stderr, "μŠ€λ ˆλ“œ 생성 μ‹€νŒ¨: %d\n", result);
31        return 1;
32    }
33
34    // 메인 μŠ€λ ˆλ“œλ„ μž‘μ—… μˆ˜ν–‰
35    for (int i = 0; i < 5; i++) {
36        printf("[메인] Main thread - %d\n", i);
37        sleep(1);
38    }
39
40    // μŠ€λ ˆλ“œ μ’…λ£Œ λŒ€κΈ°
41    pthread_join(thread, NULL);
42
43    printf("\nλͺ¨λ“  μž‘μ—… μ™„λ£Œ\n");
44    return 0;
45}
46
47/*
48 * 컴파일 방법:
49 * gcc thread_basic.c -o thread_basic -pthread
50 *
51 * μ‹€ν–‰:
52 * ./thread_basic
53 *
54 * 메인 μŠ€λ ˆλ“œμ™€ μƒμ„±λœ μŠ€λ ˆλ“œκ°€ λ™μ‹œμ— μ‹€ν–‰λ©λ‹ˆλ‹€.
55 */