画图解释
总结: 怎么拿任务,看是串行、并行 怎么拿队列,看是同步、异步
线程池的线程数,是由系统决定。你的任务加入队列后,是否能被CPU调度,看CPU
问题 1.开启线程吗? 不会开启线程
2.顺序执行? 顺序执行,只有1个线程,任务是按照队列顺序来的。所以是顺序执行
问题 1.开启几条线程吗? 开启1条线程
2.顺序执行? 顺序执行,只有1个线程,任务是按照队列顺序来的。所以是顺序执行
只要是异步就可以获取多个线程,但是串行队列,任务没有完成,不能拿任务。所以只会获取1个线程,因为加另外一个线程,没有任务。
3.come here什么时候执行? 答案:一上来就执行!有可能有交替的,插在中间。子线程和主线程谁先执行任务,是不能确定的。因为这是CPU调度的。come Here在主线程
4.在循环主线程里加入一句打印i
答案: 会先打印“i”,再执行一次异步线程任务,接着在打印“i”,在执行异步线程,交替执行。它们分属2条线程,主线程和异步线程。但是"come here"必须是i=9,才会执行。因为打印“i”占用了主线程。