APP下载
报价宝  ›  科技  › 

多执行绪多执行绪必经之路-基础API

报价宝 来源:baojiabao.com 发布时间:2019-10-26 07:55:00 09月19日更新
报价宝综合消息多执行绪多执行绪必经之路-基础API

1.1 Thread 和 Runnable

每个Java应用程序都有一个执行main()函式的预设主执行绪。 封装了程式码执行序列的执行绪物件被称为Runnable。 Java虚拟机器给每条执行绪分配独立的JVM栈空间,栈空间为每条执行绪单独准备了一份方法引数、区域性变数以及返回值的拷贝。 Java执行绪分为守护执行绪和非守护执行绪。 一条守护执行绪扮演非守护执行绪辅助者的角色,并且会再应用程序最后一条非守护执行绪消失之后自动死亡,这时应用程序才能终止。

1.1.1 建立Thread和Runnable物件

// lambda jdk1.8+

// Runnable

Runnable r = () -> System.out.println("[lambda] Hello from thread");

Thread t = new Thread(r);

t.start();

// Thread

static class MyThread extends Thread {

@Override

public void run() {

System.out.println("[thread] Hello from thread");

}

}

MyThread myThread = new MyThread();

myThread.start();

1.1.2 获取和设定执行绪状态

Java中两种执行绪:使用者执行绪(User Thread)、守护执行绪(Daemon Thread) GC就是典型的守护执行绪,主执行绪终止,所有守护执行绪全部终止 通过setDaemon设定,主执行绪不能设定 所有非守护执行绪终止,主执行绪才终止 执行规则:

所有使用者执行绪终止,主执行绪才会终止主执行绪终止,所有守护执行绪都会终止

1.1.3 启动执行绪

start()

1.2 操作更高阶的执行绪任务

中断睡眠加入到另一执行绪中join

1.2.1 中断执行绪

interrupt()isInterrupt()interrupted()isInterrupted()

1.2.2 等待执行绪

join() 无限期的等待直至该执行绪死亡join(long millis) 该执行绪死亡之前最多等待millis毫秒,millis=0,无限期等待,同join(); millis<0,IllegalArgumentException被丢掷join(long millis, int nanos) nanos [0, 999999)try {

t.join();

}catch (InterruptedException e){

e.printStackTrace();

}

文章标签: 报价宝 降噪耳机价格 耳机价格 红米手机价格 华为手机价格 小米手机价格 电视机价格 笔记本电脑价格 笔记本价格 汽车价格 手机价格 汽车价格 笔记本价格 小米手机价格 降噪耳机价格