线程的控制(常见方法)

来源:互联网 发布:马鞍山知谷教育图片 编辑:程序博客网 时间:2024/05/16 14:14

线程的控制(常见方法)

休眠线程、加入线程、礼让线程、后台线程

A:休眠线程

public static void sleep(long millis):在指定的毫秒数内让当前正在执行的线程休 眠(暂停执行),

此操作受到系统计时器和调度程序精度和准确性的影响。

 该线程不丢失任何监视器的所属权。 

EgThread.sleep(1000);

B:加入线程

public final void join():等待该线程终止(为了让某些线程执行完毕,别人才      能继续)

 

     Eg: tj1.start();

try {

tj1.join();//只有当tj1执行完毕,其他进程    才能开始

} catch (InterruptedException e) {

e.printStackTrace();

}

 

C:礼让线程

public static void yield():暂停当前正在执行的线程对象,并执行其他线程。

让多个线程的执行更和谐,但是不能靠它保证一人一次。

 

Eg: Thread.yield();

 

 

 

D:后台线程

public final void setDaemon(boolean on):将该线程标记为守护线程或用户线程。

 当正在运行的线程都是守护线程时,Java 虚拟机退出。 

该方法必须在启动线程前调用。

Eg // 设置守护线程当正在运行的线程都是守护线程时,Java //虚拟机退出

td1.setDaemon(true);

td2.setDaemon(true);

 

td1.start();

td2.start();

 

E:线程中断

public final void stop():(已经过时)

public void interrupt():中断线程。把线程的状态终止,并抛出一个 InterruptedException

Eg public static void main(String[] args) {

ThreadStop ts = new ThreadStop();

ts.start();


try {

Thread.sleep(3000);

// ts.stop();

ts.interrupt();

} catch (InterruptedException e) {

e.printStackTrace();

}

}

 

0 0