在学习线程前,我们先来学习一下进程。
代码按照调用顺序依次往下执行,没有出现两段程序代码交替运行的效果,这样的程序称为单线程程序。程序中实现多段程序代码交替运行的效果,则需要创建多个线程,即多线程程序。 多线程程序在运行时,每个线程之间都是独立的,它们可以并发执行。
- 进程
在一个操作系统中,
每个独立执行的程序都可称为一个进程,也就是“正在运行的程序”。
在计算机中,所有的应用程序都是由cpu执行的,对于一个cpu而言,在
某个时间点只能运行一个程序,也就是说只能执行一个进程。操作系统会为每个进程分配一段有限的cpu使用时间,cpu在这段时间中执行某个进程,然后会在下一段时间切换到另一个进程中执行。由于
cpu运行速度很快,能在极短的时间内在不同的进程之间切换。
2.
线程
每个运行的程序都是一个进程,在一个进程中还可以有多个执行单元同时进行,这些执行单元可以看作程序执行的一条条线索,被称为线程。操作系统中的每一个进程中都至少存在一个线程。当一个java程序启动时,就会产生一个进程,该进程会默认创建一个线程,在这个线程上会运行mian( )方法中的代码。
代码按照调用顺序依次往下执行,没有出现两段程序代码交替运行的效果,这样的程序称为单线程程序。程序中实现多段程序代码交替运行的效果,则需要创建多个线程,即多线程程序。 多线程程序在运行时,每个线程之间都是独立的,它们可以并发执行。