
多线程
文章平均质量分 83
dreamtdp
这个作者很懒,什么都没留下…
展开
-
Linux 线程同步---条件变量
.1 相关函数 #include pthread_cond_t cond = PTHREAD_COND_INITIALIZER; int pthread_cond_in转载 2012-10-13 16:05:09 · 527 阅读 · 0 评论 -
编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍
编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推。 #include #include #include #include #include //#define DEBUG 1 #define NUM 3 int转载 2012-10-13 15:57:46 · 8649 阅读 · 1 评论 -
pthread_cond_wait()用法分析
很久没看APUE,今天一位朋友问道关于一个mutex的问题,又翻到了以前讨论过的东西,为了不让自己忘记,把曾经的东西总结一下。 先大体看下网上很多地方都有的关于pthread_cond_wait()的说明: 条件变量 条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起;另一个线程使"条件成立"(给出条件转载 2012-10-13 15:56:11 · 747 阅读 · 0 评论 -
生产者-消费者问题
生产者-消费者是很有意思的一种算法。它的存在主要是两个目的,第一就是满足生产者对资源的不断创造;第二就是满足消费者对资源的不断索取。当然,因为空间是有限的,所以资源既不能无限存储,也不能无限索取。 生产者-消费者问题是一个经典的进程同步问题,该问题最早由Dijkstra提出,用以演示他提出的信号量机制。在同一个进程地址空间内执行的两个线程。生产者线程生产物品,然后将物品放置在一个空缓冲区中转载 2012-10-13 15:43:28 · 1321 阅读 · 0 评论 -
进程让他每隔5秒钟执行一次(非阻塞)
在Linux实现一个定时器,不像Win32下那样直观。在Win32调用SetTimer就行了,在Linux下则没有相应函数可以直接调用。定时器作为一个常用的功能,在Linux当然也有相应实现。下面我们看看几种常用的方法。 要实现定时器功能,最土的办法实现莫过于用sleep/usleep来实现了。当然,它会阻塞当前线程,除了处理定时功能外,什么活也干不了。当然要解决这个问题不难,创建一个转载 2012-10-16 21:08:16 · 4876 阅读 · 0 评论