线程pthread:
1、概念:线程,互斥锁(创建,销毁,加锁,解锁),条件(创建,销毁,触发,广播,等待)
2、操作:创建,退出,等待
3、线程的创建:ret = pthread_creat(&t, NULL, 启动线程要用的函数的地址, 函数的参数) -->返回值为整形
创建失败返回错误代码,创建成功返回0.
4、线程的定义:pthread_t t--> 为unsigned long int 类型
5、线程的等待:pthread_join(t,NULL);
6、线程的退出:pthread_exit(ret);
7、锁 //先在全局定义一个锁 pthread_mutex_t mutex; # mutex为锁名
①创建互斥锁: pthread_mutex_init(&mutex,NULL);
②消除互斥锁: pthread_mutex_destory(&mutex);
③上锁(一般在函数的起始位置): pthread_mutex_lock(&mutex);
④解锁(一般在函数的结束位置): pthread_mutex_unlock(&mutex); //上锁和解锁中间的都为共享资源
⑤锁的作用:当上锁后一定要将锁内的程序运行完才会进入下一个线程继续运行
⑥死锁:两个线程相互争夺同一把的情况,会让两个线程都卡死,导致进程停滞
8、条件 //先在全局定义一个锁 pthread_cond_t cond; # cond为条件名
①条件的创建:pthread_cond_init(&cond,NULL)
②条件的等待:pthread_cond_wait(&cond,&mutex)
③条件的触发:pthread_cond_signal(&cond)
④条件的销毁:pthread_cond_destroy(&cond)