JAVA线程类(1):START()和RUN()方法
一、线程基本概念
在Java中,程序员经常需要将程序划分为数个独立执行的子任务(subtask)。这些独立的子任务即是所谓的线程(thread)。撰写程序时,我们可以将每个线程视为在各自专属的CPU上执行。实际运作上会有某种底层机制自动切割CPU的运作时间。
所谓进程(process)是一种于自身定址空间中执行的独立程序。所谓多工(multitasking)操作系统,会周期性地将CPU时间划分给每个进程,使操作系统得以同时执行一个以上的进程(也可说是程序),并让每一个进程都像独立运作一般。线程则是进程中的一个“单一连续控制流程”(a single sequenctial flow of control)。一个进程可以拥有多个并行的(concurrently)线程。
多线程(multithreading)的用途很广。一般来说,我们会将程序的某一部分与特定事件或者资源捆绑在一起,而且你不希望其他部分的执行因此而搁置。这种情况下就可以产生一个与该事件或者资源相关的线程,并且让该线程不干扰主程序的运作。程序的“离开”(quit)按钮就是个很好的例子——我们不希望在程序代码的每个段落都不断检查该按钮的状态,但又希望在它被按下时可以很快的察觉,就像定期检查那样。