贵阳网页网站制作,海外社交网站开发,微网站 pc端网站开发,在线制作非主流流光闪字该楼层疑似违规已被系统折叠 隐藏此楼查看此楼/*linux下最常用的应该就是pthread线程库了本教程就是关于pthread的关于线程是什么东西我就不赘述了 百科上都有*/#include#include//pthread库的头文件//声明并定义一个函数void*function(void*data){printf(start\n)…该楼层疑似违规已被系统折叠 隐藏此楼查看此楼/*linux下最常用的应该就是pthread线程库了本教程就是关于pthread的关于线程是什么东西我就不赘述了 百科上都有*/#include#include//pthread库的头文件//声明并定义一个函数void*function(void*data){printf(start\n);printf(function:%d\n,*(int*)(data));printf(end\n);return data;}int main(){pthread_t tid;//*声明一个pthread_t类型变量//*相当于一个线程的id//*它在头文件中的定义是 typedef long pthread_tint n123;//先不要管这货是干嘛的pthread_create(tid,NULL,function,n);/*这个函数创建一个线程第一个参数以指针传递并且返回线程号第二个参数是线程的属性设置 现在我们设置成NULL表示使用默认属性第三个参数是一个函数指针 void*(*func)(void*) 它和我们在main()前面定义的函数的格式是一样的 现在把function作为参数传入 表示线程从这个函数开始执行 这个函数return就相当于线程结束最后一个参数是 void* 这个指针是传递给上面那个函数的 是给用户自己定义的数据使用的 在这里我传递了一个int变量n的地址在这个函数返回前我们创建的线程可能已经在执行了*/printf(this is main()\n);int *p;pthread_join(tid,(void**)p);/*等待一个线程的结束或者对已经结束的进程进行清理操作第一个参数是我们要等待的线程号第二个参数是一个 void** 它用于接受线程的返回值在这里是 function的返回值*/printf(main:%d,*p);return 0;}