一直在听别人说线程,进程,多线程等,觉得自己是知道的,其实上手后一滩烂泥啊.....
目录
一、概念(并发、可执行程序、进程)
1、并发:两个或更多的任务(独立的活动)同时发生(进行)。比如一边唱歌一边弹琴这个就是并发。我一个程序同时执行多个独立的任务这个就是并发。
(以往的计算机只有一个CPU就是单核CPU(中央处理器),那么在某一时刻只能执行一个任务,那他是怎么实现同时执行多个任务的需求的呢?是这样的:实现多任务的方式就是由操作系统调度,以每秒钟为单位进行多次所谓的“任务切换”,(意思激就是比如说我有10个任务,第一个任务我做了10毫秒,然后我马上切换到下个任务再做10毫秒,再切换到下个任务我在做10毫秒,切完之后我再切换回来执行第一个任务,第二个任务....就这么切着来,虽然我同一时刻只能做一个任务,但是我切的快啊,就好像这10个任务同时在执行一样,实际上严格意义来说他不是同时的多任务,这只是一种叫并发的假想。这种切换也叫上下文切换,比如说我第一个任务运行到中途的时候我要切换到下一个任务,那我第一个任务在执行时我有一些变量啊入口啊等等,那我需要保存下来,那过一会我要重新执行第一个这个人物的时候我要恢复这些变量值,切换的时候我保存这些当前的局部变量等等我