Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

ฟังก์ชันเธรดใน C/C++


ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อทำความเข้าใจฟังก์ชันของเธรดใน 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