提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
一、线程概念和多线程模型
什么是线程?为什么要引入线程?
QQ可以视频聊天,文字聊天,还可以传送文件,这些事情是怎么在进程当中完成的呢。很显然,这些事情不可能由一个程序顺序处理就能实现的,如果只能顺序处理,我们不可能同时做这些事情。
每个进程当中可能包含多个线程,然后CPU用一定的算法轮流的为一些线程进行服务。这样同一个进程被分为了不同的线程,这样就可以把QQ的不同任务放到不同的线程下进行执行,这两个线程可以并发的执行,自然不同的事情就可以并发的完成。
引入线程之后,线程就成为了程序执行流的最小单位。没有引入线程之前,一个进程就对应一份代码,这些代码只能顺序的依次往下面执行,但是再引入了线程之后,每一个进程可以有多个线程,并且这些线程可以有各自不同的代码,也可以是不同的线程运行的同样一份代码,但是这些代码都可以并发的被CPU处理,然后并发的依次执行下去。