我们知道,对多进程的程序而言。如果子进程结束后父进程还未结束,那么该子进程将会处于僵尸状态,我们称之为“僵进程”。对于僵进程,直到父进程调用wait()或waitpid()函数后,僵进程的状态才会被解除,此时子进程的资源才得以释放。
继续阅读“Linux线程的连接和分离”
分类:Linux网络编程
【转载】POSIX多线程程序设计
在多处理器共享内存的架构中(如:对称多处理系统SMP),线程可以用于实现程序的并行性。历史上硬件销售商实现了各种私有版本的多线程库,使得软件开发者不得不关心它的移植性。
继续阅读“【转载】POSIX多线程程序设计”
【转载】进程和线程的主要区别
按照传统的Unix编程模型,我们在一个系统上运行多个进程,每个进程都有各自的地址空间。虽然Unix系统中进程的概念已经使用很久了,一个给定进程内多个线程的概念相对较新。
继续阅读“【转载】进程和线程的主要区别”
Linux网络编程之POSIX条件变量-生产者消费者问题
上一篇文章总结了POSIX信号量与互斥锁的内容,接下来学习条件变量的相关知识,主要有以下内容:条件变量、条件变量函数、条件变量使用规范以及使用条件变量解决生产者消费者问题。
继续阅读“Linux网络编程之POSIX条件变量-生产者消费者问题”
Linux网络编程之POSIX信号量与互斥锁
这篇文章将要总结的内容有:POSIX信号量相关函数,POSIX互斥锁相关函数,生产者消费者问题以及自旋锁与读写锁的介绍。
继续阅读“Linux网络编程之POSIX信号量与互斥锁”
Linux网络编程之POSIX线程(二)-线程属性与线程特定数据
上一篇文章总结了POSIX线程模型,POSIX相关函数以及使用线程实现的回射客户/服务器。接下来学习线程的属性以及线程特定数据的相关内容。
继续阅读“Linux网络编程之POSIX线程(二)-线程属性与线程特定数据”
Linux网络编程之POSIX线程(一)-pthread_create…
学习了进程间通信的介绍之后,下面要学习线程的相关知识。线程间的通信目的主要是用于线程同步,所以线程没有像进程通信中的用于数据交换的通信机制。下面主要内容有:线程基本概念,POSIX线程等一系列函数。
继续阅读“Linux网络编程之POSIX线程(一)-pthread_create…”
进程间通信之POSIX共享内存-shm_open,shm_unlink
前面总结了POSIX消息队列的8个函数,接下来进入POSIX共享内存的学习,主要的一系列函数有shm_open,shm_unlink等函数。
继续阅读“进程间通信之POSIX共享内存-shm_open,shm_unlink”
进程间通信之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共享内存与信号量综合”