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

主线程等待所有线程运行完成

阅读更多
	
ThreadPoolExecutor executor = new ThreadPoolExecutor(5,5, 60, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>()); 
        int n = threads.size(); 
        for(int i=0; i<n; i++) { 
            executor.execute(threads.get(i)); 
        } 
        executor.shutdown(); 
        try { 
            boolean loop = true; 
            do {    //等待所有任务完成 
                loop = !executor.awaitTermination(2, TimeUnit.SECONDS); 
            } while(loop); 
        } catch (InterruptedException e) { 
        } 

	long end = System.currentTimeMillis();
	System.out.println("我是System.out.println,5个线程共运行了那么多的时间:" + (end - begin));

分享到:
评论

相关推荐

    Java主线程等待子线程执行完毕

    Java 主线程等待子线程执行完毕 Java 中的多线程编程是非常重要的一部分,特别是在需要并发执行多个任务的情况下。然而,在某些情况下,我们需要等待所有子线程执行完毕后再继续执行主线程的剩余动作。这时,我们...

    Java多线程--让主线程等待所有子线程执行完毕

    - **主线程等待机制**:为了使主线程能够等待所有子线程的完成,可以在主线程中使用一个循环检查`runningThreads`列表,直到该列表为空,表明所有子线程都已完成。 **4. 高级同步机制:CountDownLatch** 另一种更...

    Python多线程:主线程等待所有子线程结束代码

    本篇文章将深入探讨如何在Python中实现多线程,并让主线程等待所有子线程结束。 首先,我们需要了解Python中的`threading`模块,它是Python标准库中用于处理多线程的模块。在示例代码中,我们创建了两个函数`a()`和...

    python爬虫-08-主线程会等待子线程执行结束再结束.ev4.rar

    在Python中,我们可以通过以下方式确保主线程等待子线程执行完成: 1. 使用`join()`方法:主线程调用子线程对象的`join()`方法会阻塞,直到该子线程执行完毕。例如: ```python import threading def child_thread...

    Java多线程–让主线程等待所有子线程执行完毕

    要解决“让主线程等待所有子线程执行完毕”的问题,可以采用以下策略: 1. 使用`join()`方法:如提到的,直接在每个子线程的`start()`之后调用`t.join()`,会导致所有线程按顺序执行。这是因为`join()`会让主线程...

    多线程执行完后主程序再执行(包括需要子线程返回结果)

    为解决这个问题,我们需要使用同步机制,如Java中的`join()`方法或C#的`Thread.Join()`,让主线程等待所有子线程完成后再继续执行。当调用`join()`方法时,主线程会被阻塞,直到被调用的线程执行完毕。 例如,在...

    qt 多线程 防止主线程做循环操作导致界面假死

    - 在子线程中操作UI可能导致错误,所有与UI相关的操作必须在主线程中进行。 - 子线程不应持有UI对象的指针,否则可能导致内存泄漏或线程安全问题。 - 为了避免阻塞主线程,子线程应尽量减少信号发射的频率,或者使用...

    Java多线程--让主线程等待所有子线程执行完毕在执行

    要让主线程等待所有子线程执行完毕,但同时保持并发执行,我们可以使用一种协调机制来跟踪正在运行的子线程。上述描述中提到的方法是创建一个`ImportThread`类,它继承自`Thread`,并且维护一个`List`来存储所有正在...

    python主线程与子线程的结束顺序实例解析

    Python中的多线程是并发执行...非守护线程会迫使主线程等待其完成,而守护线程则允许主线程提前退出,进程会根据是否有非守护线程存在来决定是否立即结束。理解和控制这一行为对于编写健壮的多线程Python程序是必要的。

    易语言判断多个线程运行结束

    例如,当子线程执行完毕,可以释放一个信号量,主线程则通过等待这个信号量来得知子线程的结束。 5. **错误处理**: - 在处理线程时,务必考虑错误处理。例如,线程ID无效、线程状态获取失败等情况都需要适当的...

    QT多线程—主界面卡死解决方案

    当工作完成时,工作线程可以发射一个信号,主线程接收到这个信号后执行相应的UI更新。 ```cpp // 在WorkerObject中定义信号 Q_SIGNALS: void taskFinished(); // 在主线程中连接信号和槽 QObject::connect(worker...

    易语言多线程操作

    - 线程管理和控制:通过“等待线程结束”、“取消线程”等命令,可以监控和控制线程的运行状态。 4. **多线程中的常见问题**: - 死锁:两个或更多线程相互等待对方释放资源,导致都无法继续执行。 - 资源竞争:...

    子线程接收主线程发送的消息

    在主线程中,默认已经有一个运行的Looper,而在子线程中,如果没有手动启动Looper,那么Looper是不存在的。 **Message** 是用于在不同线程之间传递数据的对象,它包含了消息的类型、内容等信息。通过Handler的`...

    Qt线程操作 线程和主线程传递数据

    开发者可能通过创建自定义的QWidget子类,并在辅助线程中运行其业务逻辑,同时确保主线程能够正确地接收和更新UI信息,如进度条或结果显示。 总之,Qt的线程操作和数据传递机制为开发者提供了强大的并发处理能力,...

    Python语言基础:线程等待.pptx

    2. **join()方法**:用于让主线程等待指定线程执行完成,保证了线程间的执行顺序。 3. **同步机制**:`join()`是一种同步机制,防止数据竞争和资源冲突,确保程序的正确性。 4. **线程管理**:合理使用`join()`可以...

    Java父线程(或是主线程)等待所有子线程退出的实例

    Java父线程等待所有子线程退出的实例 Java多线程编程中,父线程需要等待所有子线程退出是一种常见的场景。本文将通过一个实例,演示如何使用Java实现父线程等待所有子线程退出的机制。 首先,我们需要了解线程的...

    C#多线程实现等待窗体

    5. **关闭等待窗体**: 耗时操作完成后,同样需要在主线程上关闭等待窗体: ```csharp this.Invoke((MethodInvoker)delegate { this.Close(); }); ``` 6. **线程同步**: 为了确保线程安全,可能需要使用`Mutex`, ...

    线程中创建子线程

    标题中的"线程中创建子线程"是指在主线程或者其他已存在的线程内,通过编程手段创建新的子线程来执行特定的任务。这种方式通常用于执行一些异步操作,如网络请求、文件读写、计算密集型任务等,以避免阻塞主线程,...

    多线程实验

    在本实验中,我们要求学生编写一个 Java 应用程序,在主线程中再创建 2 个线程,要求线程经历 4 种状态:新建、运行、中断和死亡。学生需要使用 Thread 类中的 start() 方法来启动线程,并使用 run() 方法来实现线程...

    Labview2015多线程异步调用工程

    异步调用是一种非阻塞的调用方式,它允许主线程在等待子线程完成任务的同时,继续执行其他工作。在Labview中,可以通过事件结构或回调函数来实现异步调用。在这个工程中,主线程通过发送任务到子线程,然后继续其...

Global site tag (gtag.js) - Google Analytics