本文为学习java并发编程的学习笔记。交流心得。
想要了解java并发编程,首先要了解进程和线程的关系。
进程的概念和特点
我们自己写的程序,也就是所谓的用户程序是由操作系统来管理的,人们把一个执行着的程序叫做一个进程(英文名:Process),每个进程都有这么两个特点:
- 资源所有权:如内存、I/O,这些不能再线程间共享。
- 调度/执行:操作系统为进程分配时间片,调度进程被处理。
进程的状态
在操作系统级别上,进程根据它运行的情况,可以分成下边5种状态:
进程的状态
串行编程和并行编程
串行编程:目前我们接触的大部分编程都是串行编程,也就是处理器执行完一条指令,再去执行另一条指令。
并行编程:就是我们去开几个进程同时执行。
线程的概念
进程下又分解出很小任务,比如你打开了个游戏,这是一个进程,游戏同时有很多小任务,我们称之为线程。
线程和进程的一些关系
进程的两个特点,一是对资源的所有权,二是可以作为操作系统调度和执行的单位,这两个特点是没有关系的,也就是说独立的,现代的好多操作系统已经把这两个特点给拆开了,可以被调度和执行的单位通常被称作线程或者轻量级进程,而拥有资源所有权的单位通常被称为进程。
一个进程至少对应一个线程。
网友评论