多线程是Java中的一大特色。首先要明白什么是进程,什么是线程。
什么是进程?
在操作系统中,一个程序的执行周期,就成为一个进程。在windows时代,多个程序可以同时执行。但是这个时候就出现了问题,假设在单CPU的情况下,多个进程要想同时使用,就要进行资源的轮番使用。
一块资源在同一个时间段上,可能会有多个进程交替执行。但是,在同一个时间点上只能有一个进程使用。
线程是比进程更小的单位。进程要比线程慢,由于Java本身是支持多线程的,因此其执行会快很多。
Java中的多线程体现在哪里呢?
以服务器应用为例,一台服务其可能会有无数个客户去使用它。服务器如何区分他的客户呢?这就涉及到了线程!
每个用户的操作信息,必然会产生只属于他的自己的对象。因此,每个用户对应于Web服务器进程而言,就是一个线程,多个用户就形成了线程的并发性。
总结
- 线程是在进程基础上的划分,一旦进程消失,线程也将随之消失。
- 典型多线程应用的服务器的应用,对于线程的理解,就可以参照客户访问Web服务器进程时各自产生对象交互的线程来理解。