java多线程3:操作线程的方法

操作线程的方法

线程休眠

Thread.sleep()

try{
	thread.sleep(2000);
}catch(Interruptexception e){
	e.printStackTrace();
}

使线程休眠2000ms,被sleep()的线程醒来后并不能保证进入运行状态,但可以保证进入就绪状态。

线程的加入

我们猜想一个场景:你在客厅看电视,这时候来了收水费的;这时候要收水费,因此你只能去交水费,交完后才能再继续看电视

此时就有了join()方法 :

线程1的run(){

​ 线程2.join()

}

线程1在执行到线程2.join()时,必须等线程2执行完毕才能继续执行该线程1。

线程的中断

在之前,经常使用stop()方法来执行线程的中断操作;但是现在的JDK版本早就废弃了这种操作

而是采用死循环里,设置一个boolbean变量来控制的方法

public class InterruptTest implements Runnable{
	private boolbean isContinue=false;
	@override
	public void run(){
	//写个死循环
		while(ture){
			//...
			//通过设置boolbean变量来控制
			if(isContibue){
				Break;
			}
		}
	}
	
	public void setContinue(){
		this.isContinue=Ture;
	}
	
}

线程的礼让

线程礼让通过yield()来实现,指的是给当前处于运行状态的线程给与暗示,表示可以在系统资源充沛的情况下,让给其他线程,但是这仅仅只是暗示,没有一种机制能保证一定会礼让给其他线程。

对于多任务的操作系统,不需要使用yield()方法,操作系统会自动分配时间片给其他线程。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你们卷的我睡不着QAQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值