Java并发1——进程和线程

在并发编程里,有两个基本的执行单元:进程和线程。在Java里,并发编程主要和线程相关。

一个计算机系统一般有多个进程和线程。即使对单核处理器也是如此,虽然实际上在执行的线程只有一个。处理器的运行时间被分为很多段(称为时间分割time slicing),由进程和线程分配使用。

现在多核多进行多线程的模式越来越普遍,这大大提高了系统进程和线程并发运行的能力。


进程(Process)

一个进程有自己的执行环境,有独有和完整的运行资源,特别的,每个进程都有自己的内存空间。

进程通常被认为是程序或应用的同义词。不过,一个应用往往包含多个进程。为促进进程间通信,大部分操作系统有进程间通信(Inter Process Communication IPC)资源,如管道流和套接字。IPC不仅可用于同一个系统的进程间通信,也可用于不同系统间通信。

大部分Java虚拟机以单进程运行。不过可以通过ProcessBuilder创建新的进程。


线程(Thread)

线程也称为轻量级进程(lightweight process)。进程和线程都用于提供执行环境,但是线程需要更少的资源。

线程存在于进程中——每个进程至少包含一个线程。多个线程共享一个进程的资源,包括内存和打开的文件等。这使得线程间通信更加容易,虽然可能带来一些问题。

多线程运行是Java平台一个很重要的特性。每个应用至少有一个线程,应用从main线程开始,在main线程又可以创建新的线程。在下一部分详细讲述如何创建新线程。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值