`
leichenlei
  • 浏览: 124493 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

    博客分类:
  • java
 
阅读更多

 

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

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

 

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

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

一、进程和线程

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

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

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

(一)           进程

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

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

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

(二)           线程

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

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

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

分享到:
评论

相关推荐

    Java并发编程进程和线程之由来Java开发Java经验技

    Java并发编程进程和线程之由来Java开发Java经验技巧共3页.pdf.zip

    Java+并发性和多线程

    Java并发性和多线程文档主要讲述了Java中的并发、多线程等问题

    Java并发编程和多线程的区别

    并发编程不仅包括多线程,还包括了处理多个独立任务的各种技术和模式,如进程、协程、分布式编程等。并发编程的目标是实现任务的并发执行,以提高系统的性能和资源利用率。 因此,多线程是并发编程的一部分。多线程...

    进程和线程的创建 _实验报告.doc

    创建一个线程并使其立即与主线程并发执行。新创建的线程与主线程均不断地循环,并输出shared_var 的值。主线程在循环中不断地对shared_var 进行加1操作,即每次循环shared_var 被加1;而新创建的线程则不断地对...

    Java 并发学习笔记:进程和线程,并发理论,并发关键字,Lock 体系,原子操作类,发容器 & 并发工具,线程池,并发实践

    进程和线程, 并发理论, 并发关键字, Lock 体系, 原子操作类, 发容器 & 并发工具, 线程池, 并发实践 Java是一种面向对象的编程语言,由Sun Microsystems于1995年推出。它是一种跨平台的语言,意味着可以在...

    java多线程笔记

    一、操作系统中线程和进程的概念 2 二、Java中的线程 3 三、Java中关于线程的名词解释 3 四、线程的状态转换和生命周期 4 Java线程:创建与启动 7 Java线程:线程名称的设定及获取 10 Java线程:线程栈模型与线程的...

    模拟多进程并发

    模拟多进程的并发执行,java编写,swing实现

    Java_多线程与并发编程总结.doc

    对于一个进程中的多个线程来说,多个线程共享进程的内存块,当有新的线程产生的时候,操作系统不分配新的内存,而是让新线程共享原有的进程块的内存。因此,线程间的通信很容易,速度也很快。不同的进程因为处于不同...

    Java多线程编程指南

    一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。 多线程是多任务的一种特别的形式,但多线程使用了更小的资源开销。 这里定义和线程相关的另一个术语 - 进程...

    龙果java并发编程完整视频

    第3节解析多线程与多进程的联系以及上下文切换所导致资源浪费问题 [免费观看] 00:13:03分钟 | 第4节学习并发的四个阶段并推荐学习并发的资料 [免费观看] 00:09:13分钟 | 第5节线程的状态以及各状态之间的转换详解...

    Java多线程之并发工具类

     主要参考资料:java并发编程的艺术、Java并发——同步工具类  二、CountDownLatch(同步倒数计数器)–不仅仅用于多线程  1.作用:允许一个或多个线程等待其他线程完成操作。  CountDownLatch的构造函数...

    java并发编程面试题

    java并发编程 基础知识,守护线程与线程, 并行和并发有什么区别? 什么是上下文切换? 线程和进程区别 什么是线程和进程? 创建线程有哪几种方式?,如何避免线程死锁 线程的 run()和 start()有什么区别? 什么是 ...

    92道Java多线程与并发面试题含答案(很全)

    Java并发编程的核心概念包括: 线程(Thread):线程是程序执行流的最小单元。一个进程可以有一个或多个线程,每个线程都执行其自己的任务。 进程(Process):进程是操作系统分配资源(如内存)和调度的单位。一个...

    Java高并发精讲(云盘下载)

     多线程:在一个进程中,我们同时开启多个线程,让多个线程同时去完成某些任务(功能)。  (比如后台服务系统,就可以用多个线程同时响应多个客户的请求)  多线程的目的:提高程序的运行效率。  多线程的运行...

    java学习多线程处理

    同一个进程中的多个线程之间可以并发执行。 线程的调度管理是由进程来完成的。 注意:编程时,必须确保线程不会妨碍同一进程的其他线程 线程的分类:系统级线程(又称为核心级线程,负责管理调度不同进程之间的多...

    java高级技术JUC高并发编程教程2021(1.5G)

    03-JUC高并发编程-JUC概述和进程线程概念(2).mp4$ T/ H9 R! n2 l9 a b 04-JUC高并发编程-JUC概述和进程线程概念(3).mp4 05-JUC高并发编程-Synchronized复习和案例分析.mp4& R: O+ [6 A8 h1 L9 | 06-JUC高并发...

    Java并发编程(学习笔记).xmind

    Java并发编程 背景介绍 并发历史 必要性 进程 资源分配的最小单位 线程 CPU调度的最小单位 线程的优势 (1)如果设计正确,多线程程序可以通过提高处理器资源的利用率来提升系统吞吐率 ...

    Java线程详解.ppt

    一个进程中可以包含一个或多个线程,一个线程就是程序内部的一条执行线索。 在单线程中,程序代码按调用顺序依次往下执行,不能实现两段程序代码同时交替运行的效果。如果一个程序中要实现两段程序代码同时交替运行...

    大厂学院高阶班java并发编程面试视频资料(6.95G)

    03_进程线程管程.mp4 54.58M 04_用户线程和守护线程.mp4 26.81M 05_对Future的改进.mp4 114.57M 06_CompletableFuture.mp4 44.98M 07_CompletableFuture四个函数.mp4 102.29M 08_get和join方法.mp4 59.24M 09_...

    JAVA并发.pdf

    线程是一个独立执行的调用序列,同一个进程的线程在同一时刻共享一些系统资源(比如文件句柄等)也能访问同一个进程所创建的对象资源(内存资源)。java.lang.Thread对象负责统计和控制这种行为。 每个程序都至少...

Global site tag (gtag.js) - Google Analytics