java并发(一、进程和线程)

 

译者:本人没过四级,完全依赖翻译软件和想象力翻译,所以还请对照着原文阅读。

官方地址:http://docs.oracle.com/javase/tutorial/essential/concurrency/index.html

 

 

计算机用户理所当然的认为他们的系统可以同时做很多事。他们认为他们可以在使用文字处理的同时,下载文件,管理打印队列,播放音频。即使是一个单独的应用也经常被希望同时做很多事情。例如,声音播放应用必须同时读出网络上的数字音频、解压、管理回放和更新显示。还有文本处理器也应该随时准备响应键盘事件和鼠标事件,不管它多么忙的在格式化文本和更新显示。这样的软件叫并发软件。

Java平台从设计初始就是支持并发编程的,在java语言和类库中包括了对基础并发的支持。自5.0之后,java开始包含了高级并发API。这个教程介绍了java平台的基本并发支持,概述java.util.concurrent包中的一些高级API。

一、进程和线程

在并发编程中,有两个基本执行单元:进程和线程。在java程序语言中,并发编程主要与线程有关。然而,进程也是重要的。

一个计算机系统通常有很多活动的进程和线程。 在只有一个处理核心的系统上,在任何时间都只执行一个线程。被分配到进程和线程之间的处理时间叫做时间截分。

越来越过的计算机拥有多个处理器或者一个处理器多个执行核心。这很大的提升了进程和线程的并发处理能力---但是,在没有多个处理器的系统上并发也是可以的。

(一)           进程

一个进程与一个自我独立的执行环境。一个进程一般有一个完整的、私有的基本运行时资源集合,尤其是每个进程拥有自己的内存空间。

进程经常被看做是一个程序或者应用的同义词。然而,用户看到的应用实际上可能是一个进程协作的集合。为了是进程之间通信,大多数操作系统支持IPC(Inter Process Communication),例如管道和套接字。IPC 只是用在同一个系统上的进程间通信,但不支持不同系统。

大多数java虚拟机实现作为一个单独进程运行。一个java应用可以创建附加进程使用ProcessBuilder对象。多进程应用超出了本教程的范围。

(二)           线程

线程有时叫做轻量级进程。进程和线程都由一个执行环境。但是创建线程比创建进程需要更少的资源。

线程存在于进程之内,--每个进程至少一个。线程分享进程的资源,包括内存和打开的文件。这使得它高效,但是有有问题,通信。

多线程执行是java平台的一个基本功能。每个应用至少有一个线程-或者几个,如果你数一下内存管理和信号处理之类的系统线程。但是应用程序员的角度,你只启动了一个线程,叫做主线程。这个线程能过创建附加线程,我们将在下一段演示。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值