《程序员自我修养》读书笔记

众人拾柴火焰高

线程:或称轻量级进程,是程序执行流的最小单元。

线程访问权限:

私有:1)局部变量
       2)函数参数
       3)TLS数据
共享:1)全局变量
       2)堆上的数据
       3)函数里的静态变量
       4)程序代码
       5)打开的文件

线程的状态:1、运行 2、就绪 3、等待

线程调度遵从'优先级调度'和'轮转法',存在安全问题

系统调用:

  liunx API:fork(写时复制)、exec(覆盖)、clone(创建子进程)
  windows API:CreateProcess、CreateThread

线程安全:程序执行到一般被其他程序执行导致错误

  避免方法:
        1)原子操作(对于复制程序不适用)
        2)同步与锁:
              1、同步
              2、二元信号量
              3、互斥量
              4、临界区
              5、读写锁
              6、条件变量

线程的可重入:类似于递归

禁止编译器优化(volatile、barrier)

多线程内部情况

  1)一对一
  2)一对多
  3)多对多
原文地址:https://www.cnblogs.com/yisicanmeng/p/13996718.html