ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อทำความเข้าใจฟังก์ชันของเธรดใน C/C++
ฟังก์ชันเธรดช่วยให้ผู้ใช้สามารถใช้งานฟังก์ชันพร้อมกันได้ในเวลาเดียวกัน ซึ่งสามารถพึ่งพาซึ่งกันและกันสำหรับการดำเนินการหรือแยกจากกัน
ตัวอย่าง
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
void* func(void* arg){
//detaching the current thread
pthread_detach(pthread_self());
printf("Inside the thread\n");
pthread_exit(NULL);
}
void fun(){
pthread_t ptid;
//creating a new thread
pthread_create(&ptid, NULL, &func, NULL);
printf("This line may be printed before thread terminates\n");
if(pthread_equal(ptid, pthread_self())
printf("Threads are equal\n");
else
printf("Threads are not equal\n");
//waiting for the created thread to terminate
pthread_join(ptid, NULL);
printf("This line will be printed" " after thread ends\n");
pthread_exit(NULL);
}
int main(){
fun();
return 0;
} ผลลัพธ์
This line may be printed before thread terminates Threads are not equal Inside the thread This line will be printed after thread ends