java并发编程之背景知识

本文为学习java并发编程的学习笔记。交流心得。

想要了解java并发编程,首先要了解进程和线程的关系。

进程的概念和特点

我们自己写的程序,也就是所谓的用户程序是由操作系统来管理的,人们把一个执行着的程序叫做一个进程(英文名:Process),每个进程都有这么两个特点:

  • 资源所有权:如内存、I/O,这些不能再线程间共享。
  • 调度/执行:操作系统为进程分配时间片,调度进程被处理。

进程的状态

在操作系统级别上,进程根据它运行的情况,可以分成下边5种状态:


进程的状态

串行编程和并行编程

串行编程:目前我们接触的大部分编程都是串行编程,也就是处理器执行完一条指令,再去执行另一条指令。
并行编程:就是我们去开几个进程同时执行。

线程的概念

进程下又分解出很小任务,比如你打开了个游戏,这是一个进程,游戏同时有很多小任务,我们称之为线程。

线程和进程的一些关系

进程的两个特点,一是对资源的所有权,二是可以作为操作系统调度和执行的单位,这两个特点是没有关系的,也就是说独立的,现代的好多操作系统已经把这两个特点给拆开了,可以被调度和执行的单位通常被称作线程或者轻量级进程,而拥有资源所有权的单位通常被称为进程。

一个进程至少对应一个线程。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容