• Thread操作


    1. 启动两个线程

     1 public class ThreadTest {
     2 
     3     public static boolean isRun = false;
     4     
     5     @Test
     6     public void mainTest(){
     7         System.out.println(Thread.currentThread().getName());
     8         
     9         Thread readThread = new ReadThread();
    10         readThread.setName("readThread");
    11         
    12         Thread writeThread = new WriteThread();
    13         writeThread.setName("writeThread");
    14         
    15         readThread.start();
    16         writeThread.start();
    17     }
    18 }
    19 
    20 class ReadThread extends Thread{
    21     @Override
    22     public void run() {
    23         try {
    24             // 读操作比较耗时,消耗3秒的时间
    25             // 由于主线程很肯能已经结束,所以,这个方法有可能不会执行到
    26             sleep(3000);
    27             System.out.println(Thread.currentThread().getName());
    28         } catch (InterruptedException e) {
    29             e.printStackTrace();
    30         }
    31     }
    32 }
    33 
    34 class WriteThread extends Thread{
    35     @Override
    36     public void run() {
    37         System.out.println(Thread.currentThread().getName());
    38     }
    39 }

    2. 由于上面的 readThread 线程比较耗时(sleep模拟),所以常常会发生主线程执行完毕,而 readThread 却没有被执行的情况,下面就想办法使得主线程等待 readThread

    线程执行完毕:

  • 相关阅读:
    shell脚本day06-sed
    shell脚本day05-交互式输入与for语句
    shell脚本day04-if语句
    shell脚本day04-grep与正则表达式
    shell脚本day03-编程原理
    shell脚本day02-重定向与管道符
    编程原理大致介绍
    进程管理
    Linux网络
    shell脚本--grep以及正则表达式
  • 原文地址:https://www.cnblogs.com/a-ray-of-sunshine/p/4571286.html
Copyright © 2020-2023  润新知