thread的常用方法

xiaoxiao2021-02-28  176

Thread类构造方法: 1.Thread(); 2.Thread(String name); 3.Thread(Runable r); 4.Thread(Runable r, String name);

public class Test { public static void main(String[] args) { /* MyThread thread1 = new MyThread(); MyThread thread2 = new MyThread("MyThread"); thread1.start(); thread2.start(); */ MyRunnable run = new MyRunnable(); Thread thread3 = new Thread(run); Thread thread4 = new Thread(run, "MyThread"); thread3.start(); thread4.start(); } }

常用方法: start();//启动线程 getId();//获得线程ID getName();//获得线程名字 getPriority();//获得优先权 isAlive();//判断线程是否活动 isDaemon();//判断是否守护线程 getState();//获得线程状态 sleep(long mill);//休眠线程 join();//等待线程结束 yield();//放弃cpu使用权利 interrupt();//中断线程 currentThread();//获得正在执行的线程对象

守护线程:也叫精灵线程,当程序只剩下守护线程的时候就会退出。 守护线程 的作用类似在后台静默执行,比如JVM的垃圾回收机制,这个就是一个守护线程。而非守护线程则不会。

MyRunnable run = new MyRunnable(); Thread thread3 = new Thread(run); Thread thread4 = new Thread(run, "MyThread"); //设置优先级别 // thread3.setPriority(1); // thread3.setPriority(Thread.MAX_PRIORITY); // thread4.setPriority(10); thread3.setPriority(Thread.NORM_PRIORITY); thread4.setPriority(Thread.NORM_PRIORITY); //获得线程的优先级别 System.out.println(thread3.getPriority()); System.out.println(thread4.getPriority()); System.out.println("----------------------"); thread3.start(); thread4.start(); System.out.println("----------------------"); System.out.println("线程3是否活动:"+thread3.isAlive()); System.out.println("线程4是否活动:"+thread4.isAlive()); System.out.println("----------------------"); // thread3.setDaemon(true);//设置为守护线程,必须在启动之前设置 System.out.println("线程3是否是守护线程:"+thread3.isDaemon()); System.out.println("线程4是否是守护线程:"+thread4.isDaemon()); System.out.println("----------------------"); //获取线程状态 System.out.println("线程3的状态:"+thread3.getState()); System.out.println("线程4的状态:"+thread4.getState()); try { thread4.join();//等待线程4的结束 } catch (InterruptedException e) { e.printStackTrace(); }
转载请注明原文地址: https://www.6miu.com/read-56898.html

最新回复(0)