什么是线程?
-
当我们用bilibili看电影,我们会看到画面、听到声音、看到弹幕,这三个功能每一个就是一个线程
什么是进程?
-
当我们打开bilibili软件或者网站,就算什么都不干,计算机就已经形成了一个进程
-
学术一点的说法是:进程是执行程序的过程
进程与线程有什么关系?
-
一个进程里面一般有多个线程,因为一个程序一般有多种功能,就像上面举的bilibili的例子
什么是多线程?
-
当我们用bilibili看电影,我们会看到画面、听到声音、看到弹幕,三个功能一起开启就是一个多线程
多线程在程序中的表现
单个线程调用run方法:
多线程调用run()方法
一个等run方法执行完之后主线程才能继续往下走,一个则是将run方法交给另一个线程然后自己继续往下走
另外一般的电脑只是模拟多线程,因为真正的多线程需要多个cpu。但是一般的电脑只有一个cpu,所以我把他们叫做模拟多线程。我们之所以觉得自己的电脑是在执行多线程,是因为cpu在线程与线程之间的切换非常快,让人无法察觉。