1、单线程进程
如果程序执行某行代码时遇到了阻塞,则程序将会停滞在该处。
2、进程代表着一个程序,程序是静态的,进程是动态的程序。
进程是系统进行资源分配和调度的一个独立单位。关于进程有如下3个特征:
1》独立性:进程是系统中独立存在的实体,它可以拥有自己独立的资源,每一个进程都拥有自己私有的地址空间。进程之间不能随意访问。
2》动态性:程序是静态的指令集合,而进程是一个动态的指令集合。进程加了时间的观念。进程具有自己的生命周期和各种不同的状态。
3》并发性:多个进程可以在单个处理器上并发执行,多个进程之间不会相互影响。
并发性:同一时刻只能有一个指令执行,但多个进程指令被快速轮换执行,宏观上表现为多个进程同时执行。
并行性:同一时刻,多条指令在多个处理器上同时执行。
3、线程的特点。
线程可以拥有自己的堆栈、自己的程序计数器和自己的局部变量,但不拥有系统资源,它与父进程的其他线程共享该进程所拥有的的全部资源。
线程的执行时抢占式的。
一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行。
线程共享的环境包括:进程代码段、进程的公有数据等。
4、多线程的优点:
1》进程之间不能共享内存,但线程之间共享内存非常容易。
2》系统创建进程时需要为该进程重新分配系统资源,但创建线程则代价小得多,因此使用多线程来实现多任务并发比多进程的效率高。
3》Java语言内置了多线程功能支持,而不是单纯地作为底层操作,从而简化了Java多线程编程。