出发点

  1. 提高资源利用率

  2. 提高系统吞吐量

  3. 降低编程复杂性

使用线程的好处

  1. 单独的线程去处理某种事件,简化异步事件的代码,如服务端采用一对一的线程去处理IO事件

  2. 相比多进程,更加容易进行数据共享

  3. 将问题分解,改善程序的吞吐量。

    在单线程的情况下,任务是串行化执行的,根据任务本身地的特点,分解成多个步骤,并行

  4. 对于交互程序,改善响应时间

  5. 相对于多进程,开销更小

要点

  1. 线程标识采用pthread_t,底层类型取决于实现,相等判断需要使用pthread_equal

  2. 创建新线程后,与主线程的调用顺序依赖于OS的线程实现和调度算法

  3. 在pthread(NTPL)实现中,默认栈大小为8M,可通过如下方式查询:

    • ulimit -s

    • getrlimit

    • pthread_attr_getstacksize

留言

2016-03-10