Linux一个pthread自动退出了,Linux下pthread开发的一些问题

(1) 线程也是资源,注意使用pthread_join和pthread_detach回收内存

(2) mutex会将等待加锁的线程形成一个队列,spinlock会不断的查询锁,类似于nonblock的处理

(3) pthread_cond_wait后,将会释放掉锁,供另外一个线程操作,操作完才会用pthread_cond_sign唤醒, pthread_cond_wait必须要和mutex一起使用

(4) 视情况能否使用读写锁

(5) 尽量使用pthread_cond_waittime取代pthread_cond_wait的死等,而且pthread_cond_wait在处理退出信号的时候存在问题

(6) 锁中的代码尽量的短小,防止I/O等相当耗时的操作

(7) 尽量使用环形消息队列或者缓冲

(8) 尽量使各个线程的操作没有相互依赖性,形成流水线操作,各个线程实现不同的任务

(9) 减少栈大小可以增加线程数

(10) pthread_join是处理处于可join的线程,必须由pthread_join调用线程来回收资源

pthread_detach是处理处于不可join的线程,线程结束后自动回收资源

(11) 注意exit, pthread_exit, 特别是在主线程中的区别。exit是整个的进程的退出,管理线程会通知所有线程的退出。

pthread_exit只是单个线程的退出,不是进程

(12) pthread_mutex一定要先用pthread_mutex_init初始化,和destroy析构

(13) 注意LinuxThread的实现

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值