Java之 多线程的常用操作方法

1.线程的命名与取得

  1. 创建线程的时候设置名称:public Thread (Runnable target,String name)
  2. 设置线程名称:public final synchronized void setName(String name)
  3. 取得线程的名字:public final String getName()
  4. 取得当前正在执行的线程对象public final String getName();

2.线程休眠(sleep方法)

public static native void sleep(long millis) throws InterruptedException

线程休眠指的是让线程暂缓执行一下,等到了预计时间之后再恢复执行。

线程休眠会交出CPU ,让CPU 去执行其他的任务。
但是,sleep方法不会释放锁,当前线程持有对某个对象的锁,即使调用sleep方法,其他线程也无法访问这个对象。

线程休眠的时间以毫秒为单位。

3.线程让步

暂停当前正在执行的线程对象,并执行其他线程。
调用yield方法会让当前线程交出CPU 权限,让CPU去执行其他的线程。跟sleep方法类似,同样不会释放锁。但是yield不能控制具体交出CPU 的时间,另外,yield方法只能让拥有相同优先级的线程有获取CPU 执行时间的机会。

4.join方法

等待该线程终止。也就是说如果在主线程中调用该方法时就会让主线程休眠,让调用该方法的线程run()方法先执行完毕后再开始执行主线程。

5.线程停止

多线程中有三种方式可以停止多线程

  1. 设置标记位,可以使线程正常退出
  2. 使用stop方法强制使线程退出,但是该方法不太安全已经被废弃了。
  3. 使用Thread类中的一个interrupt()可以中断线程。

6.线程的优先级

线程的优先级是指,优先级越高越有可能先执行而已,仅仅是有可能而已

设置优先级:public final int setPriority(int newPriority)

取得优先级:public fianl int getPriority()

常用优先级:

Thread.MAX_PRIORITY = 10;
Thread.NORM_PRIORITY = 5;
Thread.MIN_PRIORITY = 1;

线程的继承性:
优先级可以继承在A 线程中启动B 线程,则A和B 的优先级一样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值