Java SE 097线程与进程

1.多线程(Multi-Thread)

Java SE 097 线程与进程

2.线程与进程的区别

Java SE 097 线程与进程

(1)多个进程的内部数据和状态都是完全独立的,而多线程是共享一块内存空间和一组系统资源,有可能互相影响。

(2)线程本身的数据通常只有寄存器数据,以及一个程序执行时使用的堆栈,所以线程的切换比进程切换的负担要小。

(3)线程与线程之间是共享系统资源的。

3.线程的概念

3.1什么是线程?

Java SE 097 线程与进程

(1)线程就是程序中单独顺序的流控制。线程本身不能运行,它只能用于程序中。

3.2什么是多线程?

Java SE 097 线程与进程

(1)多线程是指的是在单个程序中可以同时运行多个不同的线程执行不同的任务。

(2)线程是程序内的顺序控制流,只能使用分配给程序的资源和环境。

3.3多线程编程的目的

Java SE 097 线程与进程

(1)多线程编程的目的,就是“最大限度地利用CPU资源”,当某一线程的处理不需要占用CPU而只和I/O等资源打交道时,让需要占用CPU资源的其它线程有机会获得CPU资源。从要本上说,这就是多线程编程的最终目的。

3.4单线程

Java SE 097 线程与进程

(1)当程序启动运行时,就自动产生一个线程,主方法main就在这个主线程上运行。

(2)JAVA中如果我们自己没有产生线程,那么系统就会给我们产生一个线程(这个线程就是主线程,main方法就在主线程上运行),我们的程序都是由线程来执行的。

4.进程与程序的区别

进程是程序,程序是静态的概念,而进程是动态的概念。

相关文章: