1 问题
1.1 创建线程后是否立马开始并行执行?
答: 主线程创建了子线程之后, 后者并不是立即就开始运行了. 至少在Linux操作系统下:
(1)子线程和主线程运行在一个core上, 那还需要等待主线程交出core控制权, 可能是时间片耗尽.
(2)子线程和主线程运行在不同的core上, 在时间轴上主线程后边的代码也可能先于子线程中的代码执行.
因此要考虑之间的同步.
1.1 创建线程后是否立马开始并行执行?
答: 主线程创建了子线程之后, 后者并不是立即就开始运行了. 至少在Linux操作系统下:
(1)子线程和主线程运行在一个core上, 那还需要等待主线程交出core控制权, 可能是时间片耗尽.
(2)子线程和主线程运行在不同的core上, 在时间轴上主线程后边的代码也可能先于子线程中的代码执行.
因此要考虑之间的同步.