线程中常用方法

线程中的常用方法:
        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时间片

线程生命周期

代码:



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);
		}
	}
}













 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值