Linux线程的连接和分离

我们知道,对多进程的程序而言。如果子进程结束后父进程还未结束,那么该子进程将会处于僵尸状态,我们称之为“僵进程”。对于僵进程,直到父进程调用wait()或waitpid()函数后,僵进程的状态才会被解除,此时子进程的资源才得以释放。
继续阅读“Linux线程的连接和分离”

【转载】POSIX多线程程序设计

在多处理器共享内存的架构中(如:对称多处理系统SMP),线程可以用于实现程序的并行性。历史上硬件销售商实现了各种私有版本的多线程库,使得软件开发者不得不关心它的移植性。
继续阅读“【转载】POSIX多线程程序设计”

Linux网络编程之POSIX条件变量-生产者消费者问题

上一篇文章总结了POSIX信号量与互斥锁的内容,接下来学习条件变量的相关知识,主要有以下内容:条件变量、条件变量函数、条件变量使用规范以及使用条件变量解决生产者消费者问题。
继续阅读“Linux网络编程之POSIX条件变量-生产者消费者问题”

Linux网络编程之POSIX线程(二)-线程属性与线程特定数据

上一篇文章总结了POSIX线程模型,POSIX相关函数以及使用线程实现的回射客户/服务器。接下来学习线程的属性以及线程特定数据的相关内容。
继续阅读“Linux网络编程之POSIX线程(二)-线程属性与线程特定数据”

Linux网络编程之POSIX线程(一)-pthread_create…

学习了进程间通信的介绍之后,下面要学习线程的相关知识。线程间的通信目的主要是用于线程同步,所以线程没有像进程通信中的用于数据交换的通信机制。下面主要内容有:线程基本概念,POSIX线程等一系列函数。
继续阅读“Linux网络编程之POSIX线程(一)-pthread_create…”

进程间通信之POSIX消息队列-mq_open,mq_send, mq_receive

前面已经学习了System V相关的IPC,有System V消息队列,System V共享内存和System V信号量。System V相关IPC学完之后,下面就要学习POSIX IPC了,主要内容有:POSIX消息队列,POSIX共享内存,POSIX信号量等等。
继续阅读“进程间通信之POSIX消息队列-mq_open,mq_send, mq_receive”

进程间通信之System V共享内存与信号量综合

至此,我们已经将IPC System V部分的三个内容(SystemV消息队列,SystemV共享内存,SystemV信号量)学习完了,最后以SystemV共享内存与SystemV信号量的综合示例来结束System V相关内容。
继续阅读“进程间通信之System V共享内存与信号量综合”