­

Java多线程

一、程序、进程、线程

程序


    为了解决某个问题、实现某个功能用某种编程语言编写的代码文件,是静态的;(例如在本地未运行的各种应用程序QQ、微信等);

进程


    当程序被运行,程序由静态变为动态,就会产生相应的进程,是动态的,有生命周期;(例如打开QQ程序,就会有QQ的进程);

线程


    是程序的一次执行过程,每一个线程便是做一件任务的一条通道。一个Java程序至少有三个线程,即主线程、垃圾回收线程、异常处理线程;在未使用多线程时,我们写的所有代码都在主线程中执行。

二、单线程与多线程区别


    单线程就是同一时间只能做一件事,而多线程则是同时可以做多件事;例如你在吃饭时来了电话,如果饭局很重要,你只能先吃了饭在打电话,那就是单线程,只能做一件事;如果饭局很随意,你可以一边吃饭一边打电话,同时完成了两件事,就是多线程。

三、何时使用多线程


    1、程序需要同时执行多个任务时;