Linux进程和线程(草稿)
来源:互联网 发布:java缓存技术怎么实现 编辑:程序博客网 时间:2024/04/28 16:51
1. Linux内核只支持进程,线程是通过轻量级进程clone系统调用实现的,POSIX基于clone实现的pthread库提供了线程调用的相关接口。
比较难理解的是,exec执行后,程序的代码段已经彻底被换了,所以进程执行的代码已经不是调用exec那段源代码了。
考虑到父子进程的同步性,以及更好的控制执行流程,一般,需要用父进程调用wait等待子经常结束并读状态,是其不能成为僵尸进程。
2.信号用于向一个进程通知一个事件的发生,所有的信号都定义在signal.h中,在每个中断处理程序中都会调用do_signal()用于信号处理,任何一个中断处理程序都会在结束之前调用do_signal,该函数实现了将信号处理函数的地址压入用户堆栈中,使得中断返回后信号处理程序能立即得到执行,系统至少10ms就要执行一次时钟中断,所以当前进程能很快的处理信号。信号产生、信号传递、在产生和传递的时间差称为未决状态,设置信号处理函数称为信号的部署,信号只有被解除阻塞后,才能被传递。
使用Kill向别的进程发信号、alarm在进程定义定时器,到达时间后收到SIGALARM消息,pause挂起进程直至收到任意一条消息,通过sigprocmask设置消息屏蔽码,屏蔽哪些消息;sigaction设置信号传递函数、sigpending检查进程有哪些未决信号。
lpthread线程库:pthread_create、pthread_exit、pthread_join挂起当前线程,知道等待的线程结束,如果线程设置为可以取消的话,可以通过pthread_cancle去取消。线程的同步操作通过定义mutex实现,主要有pthread_mutex_trylock、pthread_mutex_lock、pthread_mutex_unlock实现同步和互斥,用于保护共享的数据。
- Linux进程和线程(草稿)
- 进程调度(草稿)
- linux进程和线程
- Linux进程和线程
- linux进程和线程
- Linux 线程和进程
- Linux进程和线程
- Linux进程和线程
- linux进程和线程
- linux -- 进程和线程
- Linux 进程和线程
- linux线程和进程
- 进程和线程的区别(Linux)
- Linux系统处理机管理(Linux进程和Linux线程)
- linux进程和线程编程
- linux进程和线程编程
- Linux 进程和线程 理解
- linux内核线程和进程
- perl 对文件排序经典实例
- C语言中的malloc和free造成内存泄露?
- js检测文件类型及大小
- 实现重绘
- 可空类型简单学习
- Linux进程和线程(草稿)
- Flex应用-一个简单的拼图游戏
- 硬编码
- JS预览上传图片
- Perl 的排序问题
- 黑客绑架破解版iPhone 勒索要赎金换安全防护方法
- perl 提取介于某个区间的几行文字(转)
- 用递归求一个数的阶乘!
- perl 例子求合并一个数组的方法