zoukankan      html  css  js  c++  java
  • 等待线程的终结

    在某些情况下,我们需要等待线程的终结。例如,我们可能会遇到程序在执行前需要初始化资源。在执行剩下的代码之前,我们需要等待线程完成初始化任务。为达此目的, 我们使用Thread 类的join() 方法。当前线程调用某个线程的这个方法时,它会暂停当前线程,直到被调用线程执行完成。

    DataSourcesLoader.java

    public class DataSourcesLoader implements Runnable {
    
        @Override
        public void run() {
            System.out.println("DataSourcesLoader.run start");
    
            try {
                TimeUnit.SECONDS.sleep(5);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
    
            System.out.println("DataSourcesLoader.run end");
        }
    }
    

    NetworkConnectionsLoader.java
    public class NetworkConnectionsLoader implements Runnable {
    
        @Override
        public void run() {
            System.out.println("NetworkConnectionsLoader.run start");
    
            try {
                TimeUnit.SECONDS.sleep(2);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
    
            System.out.println("NetworkConnectionsLoader.run end");
        }
    }
    

     Test.java

    public class Test {
        public static void main(String[] args) {
            Thread thread1 = new Thread(new DataSourcesLoader());
            Thread thread2 = new Thread(new NetworkConnectionsLoader());
    
            thread1.start();
            thread2.start();
    
            try {
                thread1.join();
                thread2.join();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
    
            System.out.println("Test.main");
        }
    }
    

      打印结果

    DataSourcesLoader.run start
    NetworkConnectionsLoader.run start
    NetworkConnectionsLoader.run end
    DataSourcesLoader.run end
    Test.main
    
    Process finished with exit code 0
    

      







  • 相关阅读:
    https://www.cnblogs.com/aademeng/category/1042475.html
    python中重要的模块--asyncio 转载
    await这个关键词以及asyncio.wait asyncio.gather
    async get_event_loop
    麦克米伦7000
    [GO]errorr接口的使用
    [GO]断言
    [GO]空接口
    [GO]接口的转换
    [GO]接口的嵌用继承
  • 原文地址:https://www.cnblogs.com/song-wentao/p/7551958.html
Copyright © 2011-2022 走看看