概述
浏览网页时,当你等待加载图片时可以阅读和滚动网页中的文本,这种方式不好吗?在字处理软件中,当你打开另一个需要编辑的文档时,可以让一个文档在后台打印又如何呢?也许你已经享受了在回复一封email同时又能下载带有大文件附件的好处。通过允许一个多线程程序在同一时间做多个任务就可以使得这些方便的功能成为可能。这本书可以帮助你学习这些必须的技巧并把此有用的功能与你的JAVA程序相结合。
什么是线程(What Is a Thread)
当现代操作系统想开始运行一个程序,它首先创建一个进程(Process)。进程是一个当前正在执行的程序。每个进程至少有一个正在运行的线程(Thread)。有时,线程也被认为是轻量级进程(lightweight process)。一个线程是程序的一个代码执行路径(a path of code execution),每个线程有属于自己的局部变量,程序计数器(指向正在执行的指令)和生命周期。许多现代操作系统允许在一个处理器中同时运行多个线程。当操作系统启动了JVM(Java虚拟机)之后,就创建了一个新进程。在此进程中可创建许多线程。
通常,JAVA代码的执行从main()方法开始,然后沿着程序的路径进行处理直到main()方法中的所有语句完成。这就是一个单线程(single thread)的例子。这个“main”线程由JVM来创建,然后该线程开始执行main()方法,执行main()中所有语句,最后当main()完成后,该线程就会死掉(die)。
JVM中第二个总在运行的线程是:垃圾回收线程(garbage collection thread)。该线程清除掉所有遗弃的对象并回收它们的内存。所以,即使一个把“hello world”输出到System.out的简单JAVA程序也正运行在多线程的环境中。其中包括两个线程,一个是主线程(main Thread),另一个为垃圾回收线程。
当一个JAVA程序包含了图形用户界面(GUI)时,JVM会自动启动多个线程。其中一个线程负责把GUI事件传递给程序中相应的方法,另外线程负责画GUI窗口。
例如,一个基于GUI程序的主线程负责完成一个复杂、长时间的计算。当该计算正在进行时,用户点击了“停止计算”按钮,此时GUI事件线程就会调用为此按钮写的事件处理代码来终止计算线程。试想,如果只有一个线程,二者(计算和终止计算)不可能同时进行,中断计算将是困难的。
分享到:
相关推荐
在Java编程中,多线程是并发编程的重要组成部分,它允许程序同时执行多个任务,从而提高了系统的效率和响应性。然而,在某些场景下,我们可能需要控制线程的执行顺序,确保它们按照特定的顺序交替运行,这在并发编程...
Java 多线程-Socket 编程 Java 多线程-Socket 编程是指在 Java 语言中使用多线程技术来实现网络编程,特别是使用 Socket 编程来实现客户端和服务器端的通信。在 Java 中,多线程可以使用 Thread 类和 Runnable 接口...
本文档主要介绍了Java中的多线程编程,包括其基础概念、实现方法、线程控制等方面。 **基本概念** - **进程**:是指计算机正在执行的一个程序实例,比如一个`.class`文件或`.exe`文件。 - **线程**:是进程中的一...
Java 语言 编程 - 多 线 程
Java线程亲和性(Thread Affinity)是一个高级并发编程概念,主要涉及到操作系统调度和硬件资源的优化。在多核处理器系统中,线程亲和性允许开发者指定某个线程应该运行在哪个特定的处理器核心上,从而提高性能、...
《Java多线程编程实战指南-核心篇》是一本深入探讨Java并发编程的书籍,旨在帮助读者掌握在Java环境中创建、管理和同步线程的核心技术。Java的多线程能力是其强大之处,使得开发者能够在同一时间执行多个任务,提高...
【Java编程 - 线程】 在Java编程中,线程是程序执行的一个独立路径,允许多个任务在同一程序中并发执行。了解线程的相关概念对于开发高效、响应迅速的软件至关重要。 **1. 相关概念理解** 程序是一组静态的代码,而...
Java线程:概念与原理 Java线程:创建与启动 Java线程:线程栈模型与线程的变量 Java线程:线程状态的转换 Java线程:线程的同步与锁 Java线程:线程的交互 Java线程:线程的调度-休眠 Java线程:线程的调度-...
Java多线程与线程安全编程实践-基于Http协议的断点续传.zip Java多线程与线程安全编程实践-基于Http协议的断点续传.zip Java多线程与线程安全编程实践-基于Http协议的断点续传.zip Java多线程与线程安全编程实践-...
Java线程是并发编程的核心部分,它允许程序同时执行多个任务,从而提高系统效率和响应速度。在这个"java线程1-10-720p版本"的学习资源中,我们将会深入理解Java线程的基本概念、创建方式、以及如何进行有效管理。 ...
JAVA多线程编程详解-详细操作例子JAVA多线程编程详解-详细操作例子
Java多线程编程实战指南...本书以基本概念、原理与方法为主线,辅以丰富的实战案例和生活化实例,并从Java虚拟机、操作系统和硬件多个层次与角度出发,循序渐进、系统地介绍Java平台下的多线程编程核心技术及相关工具。
《Java多线程编程实战指南》这本书深入浅出地讲解了Java多线程的核心概念和实战技巧,分为核心篇和设计模式篇,旨在帮助开发者掌握并应用多线程技术。 1. **线程基础** - **线程的创建**:Java提供了两种创建线程...
### Java多线程编程经验 #### 一、Java线程:概念与原理 现代操作系统都是多任务操作系统,其中多线程是一种重要的实现多任务的方式。线程是进程内的一个执行单位,一个进程可以包含多个线程。例如,在Java应用...
使用Java 2D API编程写程序,可以简化多线程编程;代码看上去绝对比VC++的多线程编码优雅。本示例一行注释一行代码,非常详细的说明了怎样使用Java 2D API来编写Java动画应用。 阅读对象:非常熟悉Java基本概念的...
电子书相关:包含4个有关JAVA线程的电子书(几乎涵盖全部有关...第五章 Java线程编程的例子 第六章 Java线程调度 第七章 Java线程调度例子 第八章 和同步相关的高级主题 第九章 多处理器机器上的并行化 第十章 线程组
Java线程编程是Java开发中的重要组成部分,尤其在如今并发处理和高性能系统设计中不可或缺。本教程将深入探讨Java多线程的相关概念、原理及实战技巧。 首先,我们需要理解什么是线程。线程是程序执行的基本单元,一...
多线程协作机制是指在多线程编程中,多个线程之间如何协作、同步和通信,以达到共同完成某个任务的目的。Java 提供了多种多线程协作机制,包括CountDownLatch、CyclicBarrier、Semaphore 等。 1. CountDownLatch ...
从给定的文件信息中,我们可以提取出关于Java多线程编程的重要知识点,涉及线程创建、线程生命周期以及线程间的同步与通信等核心概念。 ### Java多线程编程实例解析 #### 1. 创建线程的方式 在Java中,创建线程有...