`
leichenlei
  • 浏览: 128835 次
  • 性别: 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提供的并发工具和最佳实践,可以有效地编写出高效、安全的并发代码,以应对复杂的多线程应用场景。

    JAVA线程与进程的区别

    JAVA语言中,线程(Thread)和进程(Process)是两个基本概念,它们都是操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。但是,它们之间有着本质的区别。 首先,进程是操作系统...

    Java+并发性和多线程

    Java并发性和多线程是Java开发中至关重要的概念,它们涉及到如何在单个或多个处理器上同时执行程序的不同部分,从而提升程序的效率和响应速度。在这个领域,Java提供了丰富的工具和API,使得开发者能够有效地管理和...

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

    Java并发编程和多线程是两个紧密相关的概念,但它们之间存在着重要的区别。并发编程是一种高级的编程范式,旨在设计能够处理多个任务并行执行的程序,从而提高系统效率和资源利用率。它涵盖了一系列的技术和策略,如...

    进程与线程的一个简单解释

    一个进程中可以有多个并发执行的线程,这些线程可以同时利用CPU的多核能力,提高程序的执行效率。 为了确保线程之间的协作和资源访问的安全性,操作系统提供了同步和互斥机制。如同上述类比,互斥锁(Mutex)和信号...

    Java 的多线程,程序、进程和线程的概念31

    在一个进程中可以有多个线程,它们共享进程的资源,但拥有各自的栈空间和程序计数器,这样就允许多个任务并发执行。 Java中的多线程主要涉及以下几个方面: 1. **线程的创建**:在Java中,有两种创建线程的方式。...

    java并发编程实战源码,java并发编程实战pdf,Java

    《Java并发编程实战》是Java并发编程领域的一本经典著作,它深入浅出地介绍了如何在Java平台上进行高效的多线程编程。这本书的源码提供了丰富的示例,可以帮助读者更好地理解书中的理论知识并将其应用到实际项目中。...

    模拟多进程并发

    在Java中,由于JVM自身不直接支持原生的多进程,开发者可以使用Java的并发库,如线程、守护线程、线程池,甚至通过JNI(Java Native Interface)调用C/C++库来实现这一目标。 描述中提到的“java编写,swing实现”...

    进程和线程详解

    线程是进程内的执行单元,一个进程中可以有多个线程并发执行。相比进程,线程更轻量级,它们共享同一块内存空间,包括代码、全局变量等,这使得线程间的通信更为高效。但是,这也带来了数据竞争的问题,需要通过锁、...

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

    总之,Java的多线程和并发编程是一个复杂而重要的主题,它涉及到操作系统原理、JVM行为、线程管理、同步机制等多个方面,熟练掌握这些知识对于开发高效、可靠的Java应用程序至关重要。通过理解线程的工作原理和使用...

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

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

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

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

    JAVA并发编程艺术pdf版

    《JAVA并发编程艺术》是Java开发者深入理解和掌握并发编程的一本重要著作,它涵盖了Java并发领域的核心概念和技术。这本书详细阐述了如何在多线程环境下有效地编写高效、可靠的代码,对于提升Java程序员的技能水平...

    java多线程并发

    `ExecutorService`是Java并发工具包中的核心接口之一,它定义了一组线程池管理的方法,可以帮助我们更加高效地管理和调度线程。 - **固定大小的线程池**:`newFixedThreadPool(int nThreads)`创建一个可重用的固定...

    java并发编程实践pdf笔记

    Java并发编程实践是Java开发中不可或缺的一个领域,它涉及到如何高效、正确地处理多线程环境中的任务。这本书的读书笔记涵盖了多个关键知识点,旨在帮助读者深入理解Java并发编程的核心概念。 1. **线程和进程的...

    (PDF带目录)《Java 并发编程实战》,java并发实战,并发

    《Java 并发编程实战》是一本专注于Java并发编程的权威指南,对于任何希望深入了解Java多线程和并发控制机制的开发者来说,都是不可或缺的参考资料。这本书深入浅出地介绍了如何在Java环境中有效地管理和控制并发...

    java实现守护进程,有单独的监听进程, 两个或多个进程,两个或多个jvm

    总的来说,Java实现守护进程、监听进程以及管理多个进程和JVM涉及多线程、网络编程、进程间通信等多个方面,需要对Java的API有深入理解,并熟悉操作系统级别的进程管理。通过这种方式,我们可以构建出强大、灵活的...

    java多线程和并发.pdf

    在Java并发编程中,还涉及到多种并发工具类,例如同步容器类和并发容器类。同步容器类使用同步锁来保证线程安全,但可能会影响性能。并发容器类ConcurrentHashMap和CopyOnWriteArrayList等,采用细粒度的锁和弱一致...

Global site tag (gtag.js) - Google Analytics