zoukankan      html  css  js  c++  java
  • java笔记线程的插队行为

    对线程的插队行为的理解

    在编写多线程时,会遇到让一个线程优先于其他线程运行的情况, 

    此时除了可以设置其优先级高于其他线程外,更直接的方式是使用Thread类的join()方法 

    --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3894992.html"谢谢--


    使用join()方法,可实现"插队"效果。当插队的线程运行结束后,其他线程将继续执行。 
    join()方法是Thread类的一个静态方法,它有三种形式:

    join() : 等待调用该方法的线程终止 
    join(long millis) : 等待调用该方法的线程终止的时间最长为millis毫秒 
    join(long millis,int nanos) : 等待调用该方法的线程终止的时间最长为millis毫秒加纳秒

    注:如果有线程中断了运行join()方法的线程,则抛出InterruptedException

    代码实例:

    package com.xhj.thread;
    
    /**
     * 用join()来实现线程的插队
     * 
     * @author XIEHEJUN
     * 
     */
    public class JoinThread implements Runnable {
    
        @Override
        public void run() {
            for (int i = 1; i < 6; i++) {
                try {
                    Thread.sleep(100);
                } catch (Exception e) {
                    // TODO: handle exception
                }
                System.out.println("紧急情况:" + i + "号车出发");
            }
    
        }
    
        public static void main(String[] args) {
            JoinThread join = new JoinThread();
            Thread thread = new Thread(join);
            thread.start();
            for (int i = 1; i < 6; i++) {
                try {
                    Thread.sleep(100);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                System.out.println("正常情况下:" + i + "号车出发");
                try {
                    thread.join();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
    
        }
    
    }
    知识重在总结和梳理,只有不断地去学习并运用,才能化为自己的东西。由于本人进阶猿类时间尚短,故此博客即是我学习,工作的笔记,也是和大家交流,相互提升技术的平台~希望大家不吝赐教~~ --但管努力,莫问前程,事在人为,功不唐捐。--和佑博客园
  • 相关阅读:
    XCTF EasyHook
    [GXYCTF2019]simple CPP
    [BJDCTF2020]ZJCTF,不过如此
    Open_basedir绕过
    P2240 【深基12.例1】部分背包问题
    PHP深浅拷贝
    关于_tostring[php]的另类利用
    通用Mapper常用方法
    @GetMapping、@PostMapping和@RequestMapping的区别
    IDEA 下载依赖包的问题
  • 原文地址:https://www.cnblogs.com/XHJT/p/3894992.html
Copyright © 2011-2022 走看看