#include<stdio.h> #include<pthread.h> void *funcl(void *arg) { printf("t1: %ld thread is create\n",(unsigned long) pthread_self());//pthread_self()为获取线程ID号 printf("t1:param is %d\n",*((int *)arg));//打印主进程给的参数 } int main() { int ret; int param = 100; pthread_t t1; ret = pthread_create(&t1, NULL, funcl,(void *)¶m);//创建funcl线程,传参并 将返回值给ret if(ret == 0){ printf("main:create t1 success\n");//说明创建成功 } printf("main: %ld\n",(unsigned long)pthread_self());//获取线程ID号 while(1);//为了等待t1线程执行,不然没等运行,主进程就结束了 return 0; } ~
执行显示:
CLC@Embed_Learn:~/liuzhihao$ ./a.out
main:create t1 success
main: 139744965641984
t1: 139744957355776 thread is create
t1:param is 100