1.在c++中函数的参数是和函数一起进行编译的,参数列表为:int pthread_create(pthread_t*, const pthread_attr_t*, void* (*)(void*), void*),因此回调函数定义时参数中一定要有个void*的参数
2.pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.a,所以在使用pthread_create()创建线程,以及调用 pthread_atfork()函数建立fork处理程序时,需要链接该库。在编译中要加 -lpthread参数
例子:
- #include <stdio.h>
- #include <stdlib.h>
- #include <pthread.h>
- void * hello(void *arg) {
- printf("hello world\n");
- return NULL;
- }
- int main() {
- pthread_t pid;
- pthread_create(&pid, NULL, hello, NULL);
- sleep(1);
- return 1;
- }
- //g++ -o test -g -Wall -lpthread test.c