ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2022-01-22 21:03:13  阅读:111  来源: 互联网

标签:java 水费 join boolbean 线程 sleep 多线程 public


操作线程的方法

线程休眠

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()方法,操作系统会自动分配时间片给其他线程。

标签:java,水费,join,boolbean,线程,sleep,多线程,public
来源: https://blog.csdn.net/qq_44182694/article/details/122643362

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有