Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6682181
  • 博文数量: 702
  • 博客积分: 2150
  • 博客等级: 上尉
  • 技术积分: 13243
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-29 16:28
文章分类

全部博文(702)

文章存档

2019年(2)

2018年(12)

2017年(76)

2016年(120)

2015年(179)

2014年(129)

2013年(123)

2012年(61)

发布时间:2013-01-31 17:40:37

条件变量   条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:  一个线程等待"条件变量的条件成立"而挂起;  另一个线程使"条件成立"(给出条件成立信号).为了防止竞争,条件变量的使用总是和一个互斥锁结合在一起。      1. 创建和注销条件变量和互.........【阅读全文】

阅读(3220) | 评论(1) | 转发(3)

发布时间:2012-12-23 21:51:00

用信号量实现的线程安全队列。简单有用的示例程序,比起互斥量的实现在多线程时效率更好。cir_queue.h/* * \File * cir_queue.h * \Brief * circular queue */#ifndef __CIR_QUEUE_H__#define __CIR_QUEUE_H__#define QUE_SIZE 8typedef int DataType;typedef struct cir_queue_t{  DataType data[QUE_SIZE];  int f......【阅读全文】

阅读(6579) | 评论(2) | 转发(5)

发布时间:2012-12-23 21:03:18

用互斥量实现的线程安全循环队列。只是一个示例实现,不大能用于实际编程。因为当真正多线程时,会因为资源竞争而等待,导致队列的效率极低。更有效的方式是使用信号量。更多的不说了,直接看代码吧。cir_queue.h/* * \File * cir_queue.h * \Brief * circular queue */#ifndef __CIR_QUEUE_H__#define __CIR_QUEUE_H__#define QUE_SIZE 8typedef int DataType;typedef struct cir_queue_t{&n......【阅读全文】

阅读(2385) | 评论(1) | 转发(5)

发布时间:2012-12-11 21:07:00

一、线程同步线程同步的两种基本方法:A. 信号量   它的作用如同看守一段代码的看门人。   控制一组相同对象的访问时,   比如从5条可用的电话线中分配一条给某个线程的情况,   就更适合计算信号量。      最简单的信号量--二进制信号量,它只有0和1两种取值;   更通用的信号量--计数信号量,它有更大的取值范围。B. 互斥量   它的作用如同保护代码段的一个互斥设备。   如果想控制任一时刻只能有一个线程可......【阅读全文】

阅读(3222) | 评论(1) | 转发(5)

发布时间:2012-12-11 20:57:11

一、什么是线程在一个程序中的多个执行路线就叫做线程(thread)。更准确的定义是:线程是一个进程内部的一个控制序列。事实上,所有的进程都至少有一个执行线程。创建新进程的fork系统调用与创建新线程的区别:当进程执行fork调用时,    将创建出该进程的一份新副本。    这个新进程拥有自己的变量和自己的PID,    它的时间调度也是独立的,    它的执行(通常)几乎是完全独立于父进程。当在进程中创建一个新线程时,    新的线程拥有自己的栈,    因此也有自己的局部......【阅读全文】

阅读(2085) | 评论(0) | 转发(3)
给主人留下些什么吧!~~

七月羽歌2017-04-14 11:13

美的事物是永恒的喜悦。

回复  |  举报

七月羽歌2017-04-14 10:40

全局留言。哇,

回复  |  举报

指尖上的幽灵2015-03-17 18:05

看了你这么多东西,如果不留下点什么多说不过去啊!加油啊

回复  |  举报
留言热议
请登录后留言。

登录 注册