티스토리 뷰

OS/Linux

[Linux] Thread 만들기

SweetDev 2021. 11. 26. 23:41

User-level Thread 만들기

리눅스에는 thread의 개념이 없어서, 프로세서처럼 취급하고 만든다. 

 

pthread란 POSIX Thread의 약자로 유닉스계열 POSIX시스템에서 병렬적으로 작동하는 소프트웨어를 작성하기 위하여 제공하는 API입니다. 

 

pthread_create

pthread_create(pthread_t *thread, const pthread_attr_t * attr, void*(*start_routine)(void*), void *arg)

pthread_join: 전달된 thread가 끝나기를 기다린다

pthread_join(pthread_thread, void**retval)

 

 

* gcc 컴파일시 다음과 같이 -pthread옵션을 넣어줘야 한다

gcc -o test test.c -pthread

Kernel Thread 만들기

kthread_create(threadfn, data, namefmt, arg...)
kthread_run(threadfn, data, namefmt, ...)

threadfn은 static int를 리턴하는 형태여야 한다. 

 

 

kthread_stop(struct task_struct *k)
kthread_should_stop()

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함