一、进行多任务处理一般有两种类型:基于进程和基于线程
1)基于进程的多任务处理是程序的并发执行。
2)基于线程的多任务处理是同一程序的片段的并发执行
二、在进行进程与线程编程的编程前,我整理了一下进程与线程的额概念如图:
三、在linux和在window下的进程和线程的创建使用函数是不一样的,比如创建进程,linux下是fork(),win下的是createProcess()接下来的编程主要是在linux下的。
四、进程与线程的原语:
进程原语 | 线程原语 |
描述 |
fork | pthread_create | 创建新的控制流 |
exit | pthread_exit | 从现有的控制流中退出 |
waitpid | pthread_join | 从控制流中得到退出状态 |
atexit | pthread_clean_push | 注册在退出控制流时调用的函数 |
getpid | pthhread_self | 获取控制流的ID |
pthread_clean_pop | 与pthread_clean_push搭配使用 | |
pthread_detach | 可以用于使线程进入分离状态 | |
abort | phread_cancel | 请求控制流的非正常退出 |