进程就像一个办公室,在办公室里会有很多人,这些人就像是进程里的线程;就进程本身而言嘛,它是什么也不做的,他就是一个空间,在windows里,这个空间大小为4GB,它存放着代码和数据。
线程,办公室的人,在办公室里,每个人都可能从事不同的工作,并且都是同时进行的。主线程,相当于办公室的领导,你负责招聘员工,并安排每个员工的工作,也能可能是他招一个管理者,招更多的员工。在windows里的主线程也是如此,主线程可以创建新的线程,新的线程又可以创建线程。
多线程的处理,其实很像一个人做事,比如我现在同时要泡咖啡,和开电脑。那么可能我先打开电源开关,然后去热开水,拿怀子,放咖啡,然后再录入电脑登录用户名和口令,在电脑登录过程中,我又给怀里加水,加完水,电脑正好启动完成。在这里看来开电脑是一个线程,泡咖啡也是一个线程,我只是相互的间歇做不同步骤,最终同步完成,不浪费任何时间。线程也是如此,CPU就像是我,由它来确定给每个线程多少时间做他要做的事。