摘要: 竞态条件 同一个进程的线程共享进程内的绝大部分资源,当一段访问这些共享资源的代码块,有可能被多个线程执行时,那么这段代码块就称为临界区。 当有多个线程并发的在临界区执行时,程序的执行结果会出现不确定性,这种情况称之为竞态条件。 实例: #include<stdio.h> #include<pthre 阅读全文
posted @ 2019-12-03 14:11 王清河 阅读(552) 评论(0) 推荐(0) 编辑
摘要: 一个线程可以对另一个线程提出取消申请,即线程被动终止的一种情况。向某个线程提出取消申请的接口: #include <pthread.h> int pthread_cancel(pthread_t thread); 如果一个线程因响应pthread_cancel而终止的,那么连接该线程时,将得到PTH 阅读全文
posted @ 2019-12-03 11:22 王清河 阅读(556) 评论(0) 推荐(0) 编辑
摘要: 一次性初始化: 假设有以下需求,在我们的多线程程序中,我们几乎同时创建了N个线程(我们无法知道哪个线程会被先执行),我们期望这N个线程中谁先运行谁就要去负责去调用一个全局的初始化函数做相关的初始化动作,而该初始化函数仅能被调用一次。 线程的一次性初始化函数正是为了解决上述问题而存在的,函数接口如下 阅读全文
posted @ 2019-12-03 10:54 王清河 阅读(504) 评论(0) 推荐(0) 编辑