pthread线程取消示例
来源:互联网 发布:淘宝在线云客服门户 编辑:程序博客网 时间:2024/05/22 15:11
#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <pthread.h>#include <unistd.h>pthread_mutex_t lk = PTHREAD_MUTEX_INITIALIZER;pthread_t thread_id2;void work1(void *arg){ pthread_mutex_lock(&lk); puts("thread 1 working"); pthread_mutex_unlock(&lk); sleep(3); pthread_mutex_lock(&lk); pthread_cancel(thread_id2); pthread_mutex_unlock(&lk); int seconds = 5; while(seconds--) { pthread_mutex_lock(&lk); puts("thread2 was canceled, thread 1 continue working"); pthread_mutex_unlock(&lk); sleep(1); }}void work2(void *arg){ while(1) { sleep(1); pthread_mutex_lock(&lk); puts("thread 2 working"); pthread_mutex_unlock(&lk); }}int main(){ pthread_t thread_id1; pthread_create(&thread_id1, NULL, (void *)work1, NULL); pthread_create(&thread_id2, NULL, (void *)work2, NULL); pthread_join(thread_id1, NULL); pthread_join(thread_id2, NULL); return 0;}
运行结果:
thread 1 working
thread 2 working
thread 2 working
thread 2 working
thread2 was canceled, thread 1 continue working
thread2 was canceled, thread 1 continue working
thread2 was canceled, thread 1 continue working
thread2 was canceled, thread 1 continue working
thread2 was canceled, thread 1 continue working
PS:本篇仅为示例,终止其他线程并不是一个好的编程习惯。
0 0
- pthread线程取消示例
- Linux_ pthread 线程的取消
- pthread线程属性编程示例
- pthread 线程立即取消的两种方法
- [并发并行]_[线程取消]_[Pthread的线程取消特性]
- Pthread多线程超时取消
- Pthread多线程超时取消
- pthread取消选项
- pthread线程
- pthread线程
- pthread线程
- 线程pthread
- Pthread线程
- pthread多线程加速示例(大型矩阵乘法):Blocking,1024线程^_^
- pthread之线程堆栈
- pthread之线程堆栈
- Pthread线程库--NPTL
- pthread线程退出
- C++的四种cast操作符的区别--类型转换
- Django:Django安装
- hdu 1003
- HDU 2089 不要62 (数位DP)
- java中String的API使用方法
- pthread线程取消示例
- 特征匹配及其优化
- java 线程的状态分析 sleep yield join wait notify notifyall
- Spring入门
- 机动车损失险
- 介绍一篇关于session的好文章,写的很详细(jsp-servlet 技术)
- 冒泡排序
- java中StringBuffer()类的使用
- MIUI7 录音实现代码整理