梦里花落0921
1、C++多线程也可以使用UNIX C的库函数,pthread_mutex_t,pthread_create,pthread_cond_t,pthread_detach,pthread_mutex_lock/unlock,等等。在使用多线程的时候,你需要先创建线程,使用pthread_create,你可以使主线程等待子线程使用pthread_join,也可以使线程分离,使用pthread_detach。线程使用中最大的问题就是同步问题,一般使用生产着消费者模型进行处理,使用条件变量pthread_cond_t,pthread_mutex,pthread_cond_wait来实现。2、例程://创建5个线程#include <pthread.h>#include <stdlib.h>void* work_thread(void* arg){//线程执行体return 0;}int main(int argc,char* argv[]){int nthread = 5;//创建线程的个数pthread_t tid;//声明一个线程ID的变量;for(int i=0;i<nthread;i++){pthread_create(&tid,NULL,work_thread,NULL);}sleep(60);//睡眠一分钟,你可以看下线程的运行情况,不然主进程会很快节结束了。}pthread_create(&tid,NULL,work_thread,NULL);//创建线程的函数,第一个参数返回线程的ID;第二个参数是线程的属性,一般都置为NULL;第三个参数是线程函数,线程在启动以后,会自动执行这个函数;第四个参数是线程函数的参数,如果有需要传递给线程函数的参数,可以放在这个位置,可以是基础类型,如果你有不止一个参数想传进线程函数,可以做一个结构体,然后传入。