线程中常用方法

线程中的常用方法:
        Thread(String name);         初始化线程名字,属于线程的一个有参数的构造方法
        setName(String name);      修改线程的名字
        getName();                         获取线程的名字
        
        sleep();                               static静态方法,通过Thread类名调用,需要处理一些异常
                                                  【哪一个线程执行了sleep方法,哪一个线程就睡觉】
        static currentThread();        静态方法,返回当前的线程对象
        getPriority();                       返回当前线程的优先级,CPU执行的优先级不是绝对的
        setPriority(int newPriority); 设置线程的优先级
        
        【注意】
            线程的优先级范围是1~10,10最高,1最低,线程的默认优先级为5
            这里的优先级只是提高了当前线程拥有CPU执行权概率,并不能完全保证当前线程一定
            能够占用更多的CPU时间片

线程中常用方法_第1张图片

代码:



public class Demo3 extends Thread{
	@Override
	
	public void run() {
		
		System.out.println("28"+Thread.currentThread());
		Thread.currentThread().setName("哈哈线程");
		Thread.currentThread().setPriority(10);
		System.out.println(Thread.currentThread().getPriority());
		for (int i = 0; i < 10; i++) {
			System.out.println("Demo3线程……");
			/*
				在其他方法中,使用sleep方法,可以抛出,可以捕获,
                但是在run方法中只能捕获不能抛出?
				
				这是一个语法规则:在Java中,重写父类的方法,要求和父类的方法声明一模一样,在Thread类中
				run方法没有抛出异常,所以在子类中,也不能抛出只能捕获,要和父类一致
			*/
			try {
				Thread.sleep(100);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
	
	public static void main(String[] args) throws InterruptedException {
		
		Demo3 d = new Demo3();
		
		d.start();
		
		
		System.out.println("38"+Thread.currentThread());
		
		for(int i=0;i<50;i++) {
			System.out.println("main线程");
			Thread.sleep(100);
		}
	}
}













 

你可能感兴趣的:(Java,Java)