线程中互斥锁使用的步骤与信号量相似!1、首先定义互斥锁变量,并初始化pthread_mutex_t mutex_lock;pthread_mutex_init(&mutex_lock,NULL);2、在操作前对互斥量进行加锁操作pthread_mutex_lock(&mutex_lock);3、操作...
分类:
编程语言 时间:
2015-05-06 19:37:32
阅读次数:
171
这个章节主要讲的是资源管理相关的知识,C++程序中最常使用的资源就是动态分配内存,但内存只是必须管理的众多资源之一,其他常见的资源还有文件描述器、互斥锁、图形界面的字型和笔刷、数据库连接、以及网络sockets。无论是哪一种资源,重要的是,当你不再使用它时,必须将它还给系统。条款十三Investment* createInvestment(); //返回指针,指向Investment继承体系...
分类:
编程语言 时间:
2015-05-05 10:39:23
阅读次数:
164
Semaphore 是信号量集合。每一个信号量代表一个资源。1.如果信号量为1 那么代表互斥锁2.如果所有信号量代表同一个资源,那么这是否意味着是控制这个资源允许的最大访问数3.如果信号量分别代表不同的资源。那么每次P/V操作(修改多个信号量标记位)时,是申请/释放一系列资源(一个信号量代表一个特定...
分类:
其他好文 时间:
2015-05-02 18:01:12
阅读次数:
102
我们所能想到的最简单的消息队列可能就是使用stl的list来实现了,即消息队列内部维护一个list和一个互斥锁,putMessage时将message加入到队列尾,getMessage时从队列头取一个message返回,同时在getMessage和putMessage之前都要求先获取锁资源。 ...
分类:
其他好文 时间:
2015-04-25 11:58:51
阅读次数:
146
1. 编写一个基本的多线程程序(主线程里面创建一个子线程)
/*************************************************************************
> File Name: 1_homework.c
> Author: 梁惠涌
> Addr:
> Created Time: 2015年04月22日 星期三 15时22分34秒...
分类:
编程语言 时间:
2015-04-24 21:13:21
阅读次数:
177
By Long Luo个人博客链接最近在学习Java多线程时,遇到了一个下面的笔试题,题目如下: 编写一个程序,程序会启动4个线程,向4个文件A,B,C,D里写入数据,每个线程只能写一个值。
线程A:只写A
线程B:只写B
线程C:只写C
线程D:只写D 4个文件A,B,C,D。 程序运行起来,4个文件的写入结果如下:
A:ABCDABCD......
分类:
编程语言 时间:
2015-04-21 18:05:08
阅读次数:
173
共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。
采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息...
分类:
系统相关 时间:
2015-04-20 21:00:16
阅读次数:
278
import "sync"import "sync/atomic"import "time"import "runtime"1.runtime.Gosched()表示让CPU把时间片让给别人,下次某个时候继续恢复执行该goroutine,自己一般是阻塞了,这是一个很高级的sleep,我们经常会遇到要...
分类:
其他好文 时间:
2015-04-18 11:25:50
阅读次数:
266
互斥锁是最简单的线程同步机制,Python提供的Condition对象提供了对复杂线程同步问题的支持。Condition被称为条件变量,除了提供与Lock类似的acquire和release方法外,还提供了wait和notify方法。线程首先acquire一个条件变量,然后判断一些条件。如果条件不满...
分类:
编程语言 时间:
2015-04-17 21:50:58
阅读次数:
173
前面介绍了互斥锁和条件变量解决线程间的同步问题,并使用条件变量同步机制解决了生产者与消费者问题。让我们考虑更复杂的一种场景:产品是各不相同的。这时只记录一个数量就不够了,还需要记录每个产品的细节。很容易想到需要用一个容器将这些产品记录下来。Python的Queue模块中提供了同步的、线程安全的队列类...
分类:
编程语言 时间:
2015-04-17 21:47:38
阅读次数:
148