多线程编程之线程私有数据
Pthread是 POSIX threads 的简称,是POSIX的线程标准。
线程同步从互斥量【C/C++多线程编程之六】pthread互斥量,信号量【C/C++多线程编程之七】pthread信号量,条件变量【C/C++多线程编程之八】pthread条件变量,读写锁【C/C++多线程编程之九】pthread读写锁,多线程的同...
分类:
编程语言 时间:
2014-05-10 10:03:14
阅读次数:
446
@synchronized 的作用是创建一个互斥锁,保证此时没有其它线程对self对象进行修改。这个是objective-c的一个锁定令牌,防止self对象在同一时间内被其它线程访问,起到线程的保护作用。
一般在公用变量的时候使用,如单例模式或者操作类的static变量中使用。
@synchronized(object){},每一个object对应一把锁,要执行{}中的代码,首先必须要拿到o...
分类:
编程语言 时间:
2014-05-10 09:24:21
阅读次数:
341
两种锁的加锁原理互斥锁:线程会从sleep(加锁)——>running(解锁),过程中有上下文的切换,cpu的抢占,信号的发送等开销。自旋锁:线程一直是running(加锁——>解锁),死循环检测锁的标志位,机制不复杂。两种锁的区别互斥锁的起始原始开销要高于自旋锁,但是基本是一劳永逸,临界区持锁时间...
分类:
其他好文 时间:
2014-05-09 04:58:58
阅读次数:
297
应用多线程互斥锁之前首先简单过一下C程序可能用到的3个创建线程函数: CreateThread,windows系统提供的唯一创建线程API,_beginthread和_beginthreadex都在内部调用了CreateThread,直接调用该函数创建多线程的C程序存在内存泄露的可能性,通常不推荐....
分类:
编程语言 时间:
2014-05-08 11:29:24
阅读次数:
2551
多线程编程之读写锁
Pthread是 POSIX threads 的简称,是POSIX的线程标准。
pthread读写锁把对共享资源的访问者分为读者和写者,读者只对共享资源进行读访问,写者只对共享资源进行写操作。在互斥机制,读者和写者都需要独立独占互斥量以独占共享资源,在读写锁机制下,允许同时有多个读者读访问共享资源,只有写者才需要独占资源。相比互...
分类:
编程语言 时间:
2014-05-04 18:54:12
阅读次数:
416
大家都一直强调规范编码,但是这个世界上有个大师们娱乐的竞赛——国际乱码大赛。
能写出来的都是对语言深入了解的master。我从没想自己也能“恶搞”C,一直都是老老实实编码。就在前几天看了一篇帖子。
感觉把很规范的代码变成乱码,很有意思。于是决定动手试一试。
我不得不说。。。我以为看起来还简单的东西,搞了我一天,我去。。。各种bug。。。不过也有很大的...
分类:
编程语言 时间:
2014-05-04 12:43:11
阅读次数:
513
食物链
Time Limit: 1000MS
Memory Limit: 10000K
Total Submissions: 41805
Accepted: 12160
Description
动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。
现有N个动物,以1-N编号。每个动物都...
分类:
其他好文 时间:
2014-05-04 12:42:36
阅读次数:
330
多线程编程之条件变量
Pthread是 POSIX threads 的简称,是POSIX的线程标准。
互斥机制,包括互斥量【C/C++多线程编程之六】pthread互斥量,信号量【C/C++多线程编程之七】pthread信号量,互斥能很好的处理共享资源访问的协调问题,是多线程同步必不可少的机制。互斥机制也有其缺陷,当线程在等待共享资源满足某个条件,...
分类:
编程语言 时间:
2014-05-04 09:12:50
阅读次数:
348
多线程编程之信号量
Pthread是 POSIX threads 的简称,是POSIX的线程标准。
互斥量用来处理一个共享资源的同步访问问题,当有多个共享资源时,就需要用到信号量机制。
信号量机制用于保证两个或多个共享资源被线程协调地同步使用,信号量的值对应当前可用资源的数量。
1.信号量(samaph...
分类:
编程语言 时间:
2014-05-03 21:19:12
阅读次数:
477