![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux线程与进程
文章平均质量分 74
风去沙来
这个作者很懒,什么都没留下…
展开
-
有关条件变量
条件变量:是用来通知共享数据状态信息的。可以使用条件变量来通知队列已空,或队列非空,或任何其他需要由线程处理的共享数据状态。每个条件变量必须与一个特定的互斥量,一个谓词条件相关联。当线程等待条件变量时,它必须将相关互斥量锁住。在阻塞线程之前,条件变量等待操作将解锁互斥量;而在重新返回线程之前,会再次锁住互斥锁。任何条件变量在特定时刻只能与一个互斥量相关联,而互斥量则可以同时与多个条原创 2012-03-27 21:14:11 · 693 阅读 · 0 评论 -
线程与信号
/********************************************************************* * Author : Samson * Date : 05/30/2012 * Test platform: * GNU Linux version 2.6.29.4 * g原创 2012-05-31 05:42:36 · 1244 阅读 · 0 评论 -
线程和fork
/********************************************************************* * Author : Samson * Date : 05/30/2012 * Test platform: * GNU Linux version 2.6.29.4 * g原创 2012-05-31 05:41:31 · 828 阅读 · 0 评论 -
僵死进程和孤儿进程
from: http://blog.chinaunix.net/uid-7897183-id-75583.html在Unix系统编程中,常常会碰到两个概念:僵死进程和孤儿进程。话说我以前曾经把这两个概念弄混淆过。什么是僵死进程?我们知道,在Unix进程模型中,进程是按照父进程产生子进程,子进程产生子子进程这样的方式创建出完成各项相互协作功能的进程的。当一个进程完成它的工作终止之转载 2012-03-11 15:03:40 · 967 阅读 · 0 评论 -
POSIX对pthread的选项和限制
pthread适用于多个领域。在高性能的计算程序中可以用它来支持多个循环的并行分解,实时应用程序可以用它支持并发的实时输入/输出,在数据库和网络服务程序中可以轻而易举地用它来支持客户的并发访问,商业或者软件开发程序在分时系统中可以使用其并行和并发的优点。POSIX关于线程的选项通过定义一套特征检测宏,pthreads标准允许用户决定在系统中应用哪种可选功能。任何pthreads的实现都原创 2012-03-27 16:36:45 · 1356 阅读 · 0 评论 -
不可重入函数的产生和预防
/********************************************************************* * Author : Samson * Date : 04/25/2012 * Test platform: * GNU Linux version 2.6.29.4 * g原创 2012-04-25 05:56:01 · 1371 阅读 · 0 评论 -
posix实时信号
/********************************************************************* * Author : Samson * Date : 04/25/2012 * Test platform: * GNU Linux version 2.6.29.4 * g原创 2012-04-25 05:34:28 · 995 阅读 · 0 评论 -
posix消息队列与system v消息队列的区别
/********************************************************************* * Author : Samson * Date : 04/25/2012 * Test platform: * GNU Linux version 2.6.29.4 * g原创 2012-04-25 05:19:45 · 3955 阅读 · 0 评论 -
test pthread_cleanup_push、pthread_cleanup_pop and pthread_exit
/****************************************************************************/ * Author : Samson * Date : 03/28/2012 * Test platform: * GNU Linux version 2.6.29.4 *原创 2012-03-28 19:02:38 · 833 阅读 · 0 评论 -
线程的终止与回收
线程通常从启动函数中返回来终止自己,当调用pthread_exit退出线程或调用pthread_cancel取消线程时,线程在调用完每个清理过程后也将进入终止态。通过函数返回或pthread_exit调用正常终止的线程与通过取消调用终止的线程间的唯一外部区别是:被取消的线程其返回值总是PTHREAD_CANCELLED.清理过程是由线程通过调用pthread_cleanup_push注册的原创 2012-03-27 19:53:20 · 5448 阅读 · 0 评论 -
多线程应用中如何避免性能问题
多线程应用中避免性能问题的四个方面:一 了解并发串行化:理想的并发代码是一组完全I/O密集型任务。它们从不同步,很少计算---它们仅仅执行IO请求并等待。也就是多个不用进行同步的任务写成多线程方式进行处理的时候效率性能最高。若你在写一组计算密集型或IO密集型并行线程时遇到了上述问题,并显示你只是将串行程序改为一个多线程的串行程序,结果会是一个更慢的程序,它使用更多的开销来原创 2012-03-27 16:41:36 · 1871 阅读 · 0 评论 -
关于每个线程都有各自的errno的测试
/********************************************************************* * Author : Samson * Date : 03/27/2012 * Test platform: * GNU Linux version 2.6.29.4 * g原创 2012-03-27 16:19:47 · 1162 阅读 · 0 评论 -
线程相对于进程的优势
fork是昂贵的。fork要把父进程的内存映像拷贝到子进程,并在子进程中复制所有描述字,如此等等。当今的实现使用称为写时拷贝(copy on write)的技术,用以避免在子进程切实需要自己的拷贝之前把父进程的数据空间拷贝到子进程。然而,即便有这样的优化措施,fork仍然是昂贵的。fork返回之后父子进程之间信息的传递需要进程间通信(IPC)机制。调用fork之前父进程向尚未存在的子进程传原创 2012-03-27 16:07:03 · 2240 阅读 · 0 评论 -
有关互斥量
创建和销毁互斥量pthread_mutex_t_mutex = PTHREAD_MUTEX_INITIALIZER;int pthread_mutex_init(pthread_mutex_t *mutex, pthread_mutexattr_t *attr);int pthread_mutex_destroy(pthread_mutex_t *mutex);大部分时间你原创 2012-03-27 21:12:41 · 1078 阅读 · 0 评论 -
在多线程中如何避免不正确的代码
1 避免依赖“线程惯量”线程总是异步的。当你在可能“稍微同步”的单处理机系统上开发线程代码时,这点尤其重要。没有东西同时在一台单处理机上发生,准备就绪的线程被连续地以相对可知的间隔分时执行。当你在一台单处理机上创建一个新线程时,或唤醒一个在互斥量或在条件变量上等待的线程时,除非比创建它或唤醒它的线程有更高的优先级,否则它不能立刻运行。如果达到了“进程的并发限制”,同样的现象甚至可能在一台多处原创 2012-03-27 17:01:23 · 1765 阅读 · 0 评论 -
线程的内存可视化
1 当线程调用pthread_create时,它所能看到的内存值也是它建立的线程能够看到的。任何在调用pthread_create之后向内存写入的数据,可能不会被建立的线程看到,即使写操作发生在启动新线程之前。2 当线程解锁互斥量时看到的内存中的数据,同样也能被后来直接锁住(或通过等待条件变量锁住)相同互斥量的线程看到。同样,在解锁互斥量之后写入的数据不必被其他线程看见,即使写操作发生在其他线原创 2012-03-27 16:33:00 · 1219 阅读 · 0 评论 -
多核心处理器知识与最大加速比计算方法-多处理器编译
SMP(Symmetric Multi-Processing),对称多处理结构的简称,是指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构。在这种技术的支持下,一个服务器系统可以同时运行多个处理器,并共享内存和其他的主机资源。多处理器的结构都是一样的。SMP结构的意思是每一个多核心都是平等的,没有master-slave关系在多核处理器间存在。Asymme原创 2014-03-10 17:24:13 · 7724 阅读 · 0 评论