上一页 1 ··· 4 5 6 7 8 9 10 11 下一页

2015年9月22日

Linux线程同步之读写锁(rwlock)

摘要: 读写锁和互斥量(互斥锁)很类似,是另一种线程同步机制,但不属于POSIX标准,可以用来同步同一进程中的各个线程。当然如果一个读写锁存放在多个进程共享的某个内存区中,那么还可以用来进行进程间的同步, 和互斥量不同的是:互斥量会把试图进入已保护的临界区的线程都阻塞;然而读写锁会视当前进入临界区的... 阅读全文

posted @ 2015-09-22 17:07 Zoran_i 阅读(641) 评论(0) 推荐(0) 编辑

Linux进程同步之记录锁(fcntl)

摘要: 记录锁相当于线程同步中读写锁的一种扩展类型,可以用来对有亲缘或无亲缘关系的进程进行文件读与写的同步,通过fcntl函数来执行上锁操作。尽管读写锁也可以通过在共享内存区来进行进程的同步,但是fcntl记录上锁往往更容易使用,且效率更高。 记录锁的功能:当一个进程正在读或修改文件的某个部分是,它... 阅读全文

posted @ 2015-09-22 17:05 Zoran_i 阅读(413) 评论(0) 推荐(0) 编辑

线程的分离状态(detached state)

摘要: 说到线程的分离状态,我认为,之所以会有这个状态,是因为系统对某些线程的终止状态根本不感兴趣导致的。 我们知道,进程中的线程可以调用: [cpp] view plaincopyprint? int pthread_join(pthread_t tid, void **r... 阅读全文

posted @ 2015-09-22 16:55 Zoran_i 阅读(455) 评论(0) 推荐(0) 编辑

进程信号的未决状态(pending status)

摘要: 这两天看了apue有关进程信号的部分,觉得未决状态这个词很是不一般,呵呵。一开始当我看到这个词,我不理解,什么意思呢,读了好几遍。不知道是书里面讲的晦涩难懂,还是脑子越来越不行了,就是没有搞明白。后来看到后面的例子,然后再回想一下,终于清楚了!下面记录一下吧。 定义:信号产生和传递之间的时间... 阅读全文

posted @ 2015-09-22 16:52 Zoran_i 阅读(661) 评论(0) 推荐(0) 编辑

进程控制原理

摘要: 1 什么是进程 所谓进程,通俗的讲是一个具有独立功能的程序的一次运行活动。相比于进程而言,程序是静态的,如放在磁盘上的程序;而进程是动态的,必须是运行起来的。 进程特点:动态性,并发性,独立性,异步性 动态性:由进程的概念可知,进程必须是运行起来的,所以具... 阅读全文

posted @ 2015-09-22 15:37 Zoran_i 阅读(171) 评论(0) 推荐(0) 编辑

线程的私有数据

摘要: 一. 概念及作用 在单线程程序中,我们经常要用到"全局变量"以实现多个函数间共享数据。在多线程环境下,由于数据空间是共享的,因此全局变量也为所有线程所共有。现在有一全局变量,所有线程都可以使用它,改变它的值。而如果每个线程希望能单独拥有它,那么就需要使用线程存储了。表面上看起来这是一个全局变... 阅读全文

posted @ 2015-09-22 15:34 Zoran_i 阅读(442) 评论(0) 推荐(0) 编辑

线程属性总结(二)

摘要: 一.线程属性 线程具有属性,用pthread_attr_t表示,在对该结构进行处理之前必须进行初始化,在使用后需要对其去除初始化。我们用pthread_attr_init函数对其初始化,用pthread_attr_destroy对其去除初始化。 名称: pthr... 阅读全文

posted @ 2015-09-22 14:43 Zoran_i 阅读(186) 评论(0) 推荐(0) 编辑

Linux线程属性总结(一)

摘要: 线程属性标识符:pthread_attr_t 包含在 pthread.h 头文件中。 [c] view plaincopy //线程属性结构如下: typedef struct { int etachstate; ... 阅读全文

posted @ 2015-09-22 14:41 Zoran_i 阅读(924) 评论(0) 推荐(0) 编辑

2015年9月21日

POSIX多线程编程-条件变量pthread_cond_t

摘要: 条件变量通过允许线程阻塞和等待另一个线程发送信号的方法弥补了互斥锁的不足,它常和互斥锁一起使用。使用时,条件变量被用来阻塞一个线程,当条件不满足时,线程往往解开相应的互斥锁并等待条件发生变化。一旦其它的某个线程改变了条件变量,它将通知相应的条件变量唤醒一个或多个正被此条件变量阻塞的线程。这些线... 阅读全文

posted @ 2015-09-21 09:33 Zoran_i 阅读(213) 评论(0) 推荐(0) 编辑

2015年9月19日

pthread_cleanup_push与pthread_cleanup_pop的理解

摘要: 一、为什么会有pthread_cleanup_push与pthread_cleanup_pop: 一般来说,Posix的线程终止有两种情况:正常终止和非正常终止。线程主动调用pthread_exit()或者从线程函数中return都将使线程正常退出,这是可预见的退出方式;非正常终止是线程在其他... 阅读全文

posted @ 2015-09-19 15:45 Zoran_i 阅读(452) 评论(0) 推荐(0) 编辑

上一页 1 ··· 4 5 6 7 8 9 10 11 下一页

导航