C++(23)-多线程-POSIX(1)-简单示例

POSIX(可移植操作系统接口)。
下面是一个 POSIX 线程的简单示例程序:

thread1.c
#include <pthread.h>
#include <stdlib.h>
#include <unistd.h>
//创建和调用线程
 void *thread_function(void *arg)
{
  int i;
  for ( i=0; i<20; i++) 
  {
    printf("Thread says hi!\n");
    sleep(1);
  }
  return NULL;
}
int main(void) 
{
  //1.声明变量 线程id 线程句柄
  pthread_t mythread;
  //2.创建线程(指向mythread的指针,线程属性,调用的函数名)
  if ( pthread_create( &mythread, NULL, thread_function, NULL) ) {
    printf("error creating thread.");
    abort();
  }
  //3.调用线程
  //pthread_join(线程id,线程返回值,放置在指定的位置)
  if ( pthread_join ( mythread, NULL ) ) {
    printf("error joining thread.");
    abort();
  }
  exit(0);
}

在GCC 上运行,
$ gcc thread1.c -o thread1 -lpthread 可以看到结果。

posted @ 2020-11-27 12:32  jasmineTang  阅读(144)  评论(0)    收藏  举报