蜘蛛网是个什么网站,做个游戏网站多少钱,杭州江干区抖音seo品牌,网站首页phpcms怎么添加方式1
pthread_exit
Void pthread_exit (void *retval)
功能#xff1a; 结束调用的线程
参数#xff1a; retval //退出状态值 //需要传的是#xff0c;退出状态值的地址
注意#xff1a; 1.pthread_exit 本身表示结束线程 如果用在main函数中 表示结束主线程…方式1
pthread_exit
Void pthread_exit (void *retval)
功能 结束调用的线程
参数 retval //退出状态值 //需要传的是退出状态值的地址
注意 1.pthread_exit 本身表示结束线程 如果用在main函数中 表示结束主线程 主线程结束 并不表示进程
方式2
在次线程中return
此时的效果相当于调用了pthread_exit
方式3
调用pthread_cancel(pthread_t pthread)
功能 通过发送取消的请求来结束次线程
参数; pthread:要结束的线程的tid号
线程的资源回收
Int pthread_join(pthread_t thread,void **retval)
功能 等待线程结束
参数
返回值 成功 0 失败 错误码
注 线程退出时可以带出退户状态值 但是传的是
1.pthread_join //需要自己回收 -----线程的属性可结合性 --一般是子线程 在短时间内运行完
2.//可分离属性 ----子线程运行很久才结束 ---设置分离属性
函数:
Pthread_detach()
Int pthread_detach(pthread_t thread);
功能 分离线程
参数 thread 要分离的线程的tid
返回值 成功 0 失败 错误码 对比 线程 和 进程
1.线程 vs 进程
线程 cpu 执行的最小单位
进程 资源分配和任务调度的最小单位
2.各自特点优缺点
//1.创建 和 调度
线程 创建速度快 调度速度快 //线程的并发程度 更高
Time:获取可执行程序的运行时间
//2.安全性
线程 优点因为共享了进程的数据空间所以在共享数据方面更方便 缺点安全性不好 带来了资源竞争 //专门的技术 解决资源竞争 ----互斥 同步
进程 优点进程空间相互独立好处就是安全性更高 缺点进程间共享数据不方便 //进程间通信 管道信号共享内存 线程间的资源竞争 共享资源临界资源 临界区访问共享资源临界资源的代码 机制 互斥锁 互斥 排他性 锁 定义互斥锁 pthread_mutex_t mutex; 互斥锁类型 互斥锁变量 内核对象 加锁 //加锁 加在 要访问临界资源的地方
Pthread_mutex_lock() //加锁
解锁 //临界资源访问完就解锁
Pthread_mutex_unlock() //解锁
销毁
Pthread_mutex_destory() //销毁一把锁
因为使用锁的时候会占用一部分硬件资源如果不销毁的话硬件资源不会被释放 Pthread_mutex_init()
功能 初始化 互斥锁 int pthread_mutex_init( 总结
//锁是一种线程间 同步机制
//互斥锁 保证线程对于共享资源的排他性访问 保证每个线程访问时的原子性操作不可分割
//操作
//初始化 一把锁
// 动态初始化pthread_mutex_init
// 静态初始化 用初始化的宏
// 加锁
// 解锁
// 销毁
处理错误 全局变量的默认初始值为0
线程间的顺序问题
//同步操作
强调的是线程的 顺序问题
信号量 //交通信号灯 //实现一种可以让线程之间有序访问的临界资源的方式
信号量的本质 一把锁 //一把可以顺序操作的锁