java笔记线程方式1等待终止

public final void join():等待该线程终止

public class ThreadJoinDemo {
    public static void main(String[] args) {
        ThreadJoin tj1 = new ThreadJoin();
        ThreadJoin tj2 = new ThreadJoin();
        ThreadJoin tj3 = new ThreadJoin();

        tj1.setName("李渊");
        tj2.setName("李世民");
        tj3.setName("李元霸");

        tj1.start();//liyuan走完了才继续下面
        try {
            tj1.join();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        tj2.start();
        tj3.start();
    }
}
public class ThreadJoin extends Thread {
    @Override
    public void run() {
        for (int x = 0; x < 100; x++) {
            System.out.println(getName() + ":" + x);
        }
    }
}
时间: 2024-08-24 07:16:20

java笔记线程方式1等待终止的相关文章

java笔记线程方式1线程终端与停止

public final void stop():让线程停止,过时了,但是还可以使用.public void interrupt():中断线程. 把线程的状态终止,并抛出一个InterruptedException. 1 public class ThreadStopDemo { 2 public static void main(String[] args) { 3 ThreadStop ts = new ThreadStop(); 4 ts.start(); 5 6 // 你超过三秒不醒过来

java笔记线程方式1优先级

* 我们的线程没有设置优先级,肯定有默认优先级. * 那么,默认优先级是多少呢? * 如何获取线程对象的优先级? *   public final int getPriority():返回线程对象的优先级 * 如何设置线程对象的优先级呢? *   public final void setPriority(int newPriority):更改线程的优先级.  *  * 注意: *   线程默认优先级是5.  *   线程优先级的范围是:1-10. *   线程优先级高仅仅表示线程获取的 CPU

java笔记线程方式2

方式2:实现Runnable接口 * 步骤: *   A:自定义类MyRunnable实现Runnable接口 *   B:重写run()方法 *   C:创建MyRunnable类的对象 *   D:创建Thread类的对象,并把C步骤的对象作为构造参数传递 1 public class MyRunnableDemo { 2 public static void main(String[] args) { 3 // 创建MyRunnable类的对象 4 MyRunnable my = new

java笔记线程方式1睡眠

1 public class ThreadSleepDemo { 2 public static void main(String[] args) { 3 ThreadSleep ts1 = new ThreadSleep(); 4 ThreadSleep ts2 = new ThreadSleep(); 5 ThreadSleep ts3 = new ThreadSleep(); 6 7 ts1.setName("林青霞"); 8 ts2.setName("林志玲"

java笔记--线程的插队行为

对线程的插队行为的理解 在编写多线程时,会遇到让一个线程优先于其他线程运行的情况,此时除了可以设置其优先级高于其他线程外,更直接的方式是使用Thread类的join()方法 --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3893797.html"谢谢-- 使用join()方法,可实现"插队"效果.当插队的线程运行结束后,其他线程将继续执行.join()方法是Thread类的一个静态方法,它有三种形式: join

11.4-全栈Java笔记:线程三种状态的控制

关于Java线程终止.暂停.联合的文章网上有很多,经过测试,本节重点讲解的是针对不同使用场景选择合适的方法. 终止线程的典型方式 终止线程我们一般不使用JDK提供的stop()/destroy()方法(他们本身也被JDK废弃了).通常的做法是提供一个boolean型的终止变量,当这个变量置为false,则终止线程的运行. [示例1]终止线程的典型方法(重要!!!) public class TestThreadCiycle implements   Runnable { String name;

11.3-全栈Java笔记:线程的生命周期

一个线程对象在它的生命周期内,需要经历5个状态. 新生状态(New) 用new关键字建立一个线程对象后,该线程对象就处于新生状态.处于新生状态的线程有自己的内存空间,通过调用start方法进入就绪状态. 就绪状态(Runnable) 处于就绪状态的线程已经具备了运行条件,但还没有分配到CPU,处于 "线程就绪队列",等待系统为其分配CPU. 就绪状态并不是执行状态,当系统选定一个等待执行的Thread对象后,它就会进入执行状态. 一旦获得CPU,线程就进入运行状态并自动调用自己的run

11.11-全栈Java笔记:线程状态转换和任务定时调度

线程状态转换 1)New :创建好线程对象,但没有启动的时候. 一个线程调用start()之后不一定会马上启动,此时进入就绪状态,等待得到资源. 2)就绪线程序通过Scheduler(调度程序)去确定是否运行. 3)Runing---dead:运行结束(非双向,为单向箭头). 4)Runing---就绪:暂停(除了没有CPU,具备运行的所有条件). 5)Runing-otherwise(阻塞):因程序原因:调用sleep或join之后,线程被阻塞.这时不具备运行的条件,此时线程进入阻塞池.sle

11.5-全栈Java笔记:线程基本信息和优先级别

获取线程基本信息的方法 表  线程的常用方法 方法 功能 isAlive() 判断线程是否还"活"着,即线程是否还未终止. getPriority() 获得线程的优先级数值 setPriority() 设置线程的优先级数值 setName() 给线程一个名字 getName() 取得线程的名字 currentThread() 取得当前正在运行的线程对象,也就是取得自己本身 [示例1]线程的常用方法举例一 public class ThreadTest3 { public static