本来多线程就不熟悉,每次做到这里 总会遇到这个问题,解决一次 忘一次, 这记下来
private static int THREAD_NUM = 10; 线程总数
private AtomicInteger threadNum = new AtomicInteger(0); 每个线程执行完 了 记录一个标记
es.shutdown(); 这个只能让线程池退出,并不能让 主线程推出,所以这里要给一个 next 标记,当线程池 关闭之后,告诉主线程, 这是主线程 继续向下执行;
ExecutorService es = Executors.newFixedThreadPool(THREAD_NUM);
for (int i = 0; i < THREAD_NUM; i++) {
es.execute(new InitLangFangData(loopStr));
}
boolean next = true;// 主线程退出标记
while (next) {
if (THREAD_NUM == threadNum.get()) {
es.shutdown(); //这里是让 线程池推出使用的 ,但是主线程并没有退出
if (es.isShutdown()) {
next = false;
}
} else {
Thread.sleep(5000);
}
}
class InitLangFangData extends Thread
{
private String loopStr;
public InitLangFangData(String loopStr)
{
this.loopStr = loopStr;
}
public void run()
{
try {
initData(loopStr);
} catch (DataCellException e) {
logger.error(e.getMessage(), e);
} catch (IOException e) {
logger.error(e.getMessage(), e);
}
threadNum.getAndIncrement();
}
}
相关推荐
在编程领域,尤其是在Java或C++等支持多线程的编程语言中,多线程安全退出是一个关键概念。多线程允许程序同时执行多个任务,提高系统效率,但同时也引入了线程同步和资源管理的问题。这个实例源代码,...
在Java编程中,控制程序执行超时是一项重要的任务,特别是在多线程环境下,我们可能需要确保某个任务不会无限制地运行下去,导致资源耗尽。本文将深入探讨如何使用Java的线程机制来实现程序执行的超时控制,同时也会...
以上只是Java多线程编程的一部分基础知识,实际开发中还需要考虑线程的性能优化、线程安全问题以及如何优雅地关闭线程等复杂情况。深入理解并熟练掌握这些概念对于编写高效、稳定的多线程程序至关重要。
### Java多线程编程总结 #### 一、Java线程:概念与原理 1. **操作系统中线程和进程的概念** - 当前的操作系统通常为多任务操作系统,多线程是实现多任务的一种手段。 - **进程**:指内存中运行的应用程序,每个...
本文将深入探讨一个轻量级的Java多线程池实现,这个实现允许线程间的通信,并提供了类似Akka Actor的调度功能。 首先,我们要理解Java中的线程池。线程池是一种线程使用模式,它维护一组可以重复使用的线程,避免了...
### Java多线程小结 #### 一、多线程的概念与意义 多线程是Java编程中的一个重要概念,指的是程序在运行时可以同时执行多个线程的能力。它能够提高程序的性能,尤其是在多核处理器的环境下。多线程使得程序能够更...
1. Java多线程的使用,包括线程的创建、启动和安全关闭。 2. JavaCV的FFmpegFrameRecorder类在视频录制和推流中的应用。 3. 线程安全和资源管理,尤其是在多线程环境中的数据同步和异常处理。 4. 实时视频流的启动和...
### Java多线程编程总结 #### 一、Java多线程概述 Java多线程是Java编程语言中不可或缺的一部分,它允许程序同时处理多个任务,从而显著提高应用程序的性能和响应速度。Java5之前的版本虽然支持多线程,但在语言...
Java并发多线程是Java编程中的重要组成部分,它允许程序同时执行多个任务,极大地提高了程序的效率和响应性。在Java中,多线程主要通过`Thread`类、`Runnable`接口以及`ExecutorService`来实现。下面我们将深入探讨...
下面我们将深入探讨Java多线程管理和在游戏开发中的应用。 1. **Java多线程基础** - Java提供了内置的多线程支持,可以通过继承`Thread`类或实现`Runnable`接口创建线程。 - `start()`方法用于启动线程,`run()`...
Java多线程是Java语言中的一种重要机制,允许程序同时执行多个任务,以提高程序的执行效率和响应速度。在Java中,多线程可以通过继承Thread类、实现Runnable接口或使用线程池来创建。在使用多线程时,需要注意线程的...
Java多线程是Java编程中的重要概念,它允许程序同时执行多个任务,提高了程序的效率和响应性。在Java中,实现多线程有两种主要方式:通过继承`Thread`类和实现`Runnable`接口。本示例将深入探讨这两种方法,并介绍`...
《Java 多线程编程核心技术》是一本深入探讨Java平台多线程编程的著作,旨在帮助开发者全面理解和掌握多线程编程的关键概念和技术。通过实际案例的解析,本书旨在将理论与实践相结合,使读者能够有效地应用多线程...
### Java多线程实现控制台聊天室 #### 一、项目概述 本项目采用Java语言,利用多线程技术实现了一个简单的控制台聊天室。该聊天室具备基本的客户端与服务器端交互功能,用户可以通过控制台窗口进行文字聊天交流。 ...
### Java多线程核心编程技术 #### 一、Java多线程基础 ##### 1.1 线程的概念 在计算机科学中,线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。在Java中,通过创建`...
在深入探讨Java多线程程序设计之前,我们需要了解多线程的概念以及它在程序设计中的重要性。多线程是指一个进程内部可以同时执行多个线程,每个线程负责处理程序中的不同部分。在Java中,线程由java.lang.Thread类来...
Java多线程编程是Java开发中的重要组成部分,它允许程序同时执行多个任务,极大地提高了程序的效率和响应性。在Java中,实现多线程有两种主要方式:通过继承`Thread`类或者实现`Runnable`接口。 ### 继承Thread类 ...
在这个实验中,你可以通过创建多个线程,模拟并发执行,并在其中引发和处理异常,以此加深对Java多线程异常处理的理解。"源码"文件将包含实现这些概念的示例代码,而"要求"文件则会给出具体的实验任务和目标,帮助你...
Java多线程是Java编程中的重要概念,它允许程序同时执行多个任务,提高了程序的效率和响应性。在Java中,实现多线程有两种主要方式:通过实现`Runnable`接口和继承`Thread`类。 1. 实现Runnable接口: 这种方式更...