分类: LINUX
2015-03-22 17:00:08
在学习多线程之前,先搞清楚一下几个概念
1,什么是进程,什么是线程,什么是同步?
每个正在系统上运行的程序都是一个进程,每个进程包含一到多个线程。进程也可能是整个程序或者是部分程序的动态执行。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。
相对进程而言,线程是一个更加接近于执行体的概念,它可以与同进程中的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。在串行程序基础上引入线程和进程是为了提高程序的并发度,从而提高程序运行效率和响应时间。
同步指两个或两个以上随时间变化的量在变化过程中保持一定的相对关系。
2,线程同步
使用同步功能,可以控制程序流并访问共享数据,从而并发执行多个线程。共有四种同步模型:互斥锁、读写锁、条件变量和信号。
3,为什么要使用多线程?
4,线程的代价
5,POSIX线程概念
简要介绍Pthread数据类型
类型 | 描述 |
pthread_t | 线程标志符 |
pthread_mutex_t | 互斥量 |
pthread_cond_t | 条件变量 |
pthread_key_t | 线程私有权握访问键 |
pthread_attr_t | 线程属性对象 |
pthread_mutexattr_t | 互斥量属性对象 |
pthread_condattr_t | 条件变量属性对象 |
pthread_once_t | “一次性初始化”控制变量 |