Computer >> Máy Tính >  >> Lập trình >> lập trình C

Các hàm chủ đề trong C / C ++

Trong hướng dẫn này, chúng ta sẽ thảo luận về một chương trình để hiểu các hàm luồng trong C / C ++.

Các chức năng luồng cho phép người dùng triển khai các chức năng đồng thời cùng một lúc, các chức năng này có thể phụ thuộc vào nhau để thực thi hoặc độc lập.

Ví dụ

#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;
}

Đầu ra

This line may be printed before thread terminates
Threads are not equal
Inside the thread
This line will be printed after thread ends