线程
原创
©著作权归作者所有:来自51CTO博客作者ghong45的原创作品,请联系作者获取转载授权,否则将追究法律责任
11.1
本章将了解如何使用多个线程在单进程的环境中执行多个任务,一个进程中的所有线程都可以访问该进程的组成部件
只要单个资源需要在多个用户间共享,就必须处理一致性问题
11.2线程概念
线程包含了表示进程内执行环境必需的信息,其中包括进程中标识线程的线程ID,一组寄存器值,栈,调度优先级和策略,信号屏幕字,errno变量以及线程私有数据.进程的所有信息对该进程的所有线程都是共享的,
11.3线程标识
进程ID在整个系统中是唯一的,但线程ID环同,线程ID只在它所属的进程环境中有效
11.4线程创建
新增的线程可以通过调用pthread_create来创建
11.5线程终止
单个线程可以通过下列几种方式退出,在不终止整个进程的情况下停止它的控制流
(1)线程只是从启动例程中返回,返回值是线程的退出码
(2)线程可以被同一进程中的其他线程取消
(3)线程调用pthread_exit.
进程原语和进程原语的比较
进程原语 线程原语 描述
fork pthread_create 创建新的控制流
exit pthread_exit 从现有的控制流中退出
waitpid pthread_join 从控制流中得到退出状态
atexit pthread_cancel_push 注册在退出控制时调用的函数
getpid pthread_self 获取控制流的ID
abort pthread_cancel 请求控制流的非正常退出
11.6线程同步
当某个线程可以修改变量,而其它线程也可以修改或读取这个变量的时侯,就需要对这些线程进行同步,以确保它们在访问变量的存储内容时不会访问到无效的数值
常常用三种基本同步方式:互斥,读写锁以及条件变量
上一篇:如何使用gcc编译器?
下一篇:FC4硬盘安装
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【Java】线程、线程安全、线程状态
线程、线程安全、线程状态
java 多线程 线程状态 -
线程---线程创建
pthread_creat()中的线程标识pthread_t是非可移植的
职场 休闲 pthread_creat -
线程---线程终止
pthread_exit()退出线程本身,pthread_join()以阻塞方式等着别人退出
职场 休闲 pthread_join pthread_exit pthread_cancel -
线程---线程同步
我在这个只讲最最简单的锁,pthread_mutex_t结构,其中mutex是互斥的意思
职场 休闲 pthread_mutex_t