java线程的无限循环和退出
Java  /  管理员 发布于 3年前   232
最近想写一个游戏,然后碰到有关线程的问题,网上查了好多资料都没满足。
突然想起了前段时间看的有关线程的视频,于是信手拈来写了一个线程的代码片段。
希望帮助刚学java线程的童鞋
package thread;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.Random;/** * 线程没完没了的循环 * * @author FuJianyong * 2015-6-16下午09:22:11 */public class EndlessLoop {//是否结束线程的旗标volatile boolean flag = true;//控制是否输出数字volatile boolean numIncrement = false;class Endless extends Thread{ public void run(){ long startTime = System.currentTimeMillis(); System.out.println("线程开始正在生成随机数..."); while(flag){ Random random = new Random(); //随机数开关 int power = 0; power = random.nextInt(50); System.out.println("while循环产生的随机数:\t" + power); if(power == 19){ //结束线程 flag = false; break; } //计数 int i = 0; for(;;){ power = random.nextInt(888); if(power % 2 == 0 || power > 200){ //偶数则计数器增加 numIncrement = true; }else{ //奇数则计数器停止增加 numIncrement = false; } if(numIncrement){ System.out.println("for循环产生的随机数是:\t" + power + "\t计数器增加:\t" + ++i + "\t" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(System.currentTimeMillis())); try {Thread.sleep(power * 2); } catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace(); } }else{ System.out.println("for循环产生的随机数是:\t" + power + "\t计数器停止..."); break; } } } long endTime = System.currentTimeMillis(); System.out.println("线程结束等待垃圾回收..."); System.out.println("=====线程执行开始时间为:\t" + new SimpleDateFormat("yyyy 年 MM 月 dd 日 HH 时 mm 分 ss 秒").format(startTime)); System.out.println("=====线程执行结束时间为:\t" + new SimpleDateFormat("yyyy 年 MM 月 dd 日 HH 时 mm 分 ss 秒").format(endTime)); }}public void start(){ new Endless().start();}public static void main(String[] args) {new EndlessLoop().start();}}
博主 在
2023年国务院办公厅春节放假通知:1月21日起休7天中评论 @ xiaoB 你只管努力,剩下的叫给天意;天若有情天亦老,..xiaoB 在
2023年国务院办公厅春节放假通知:1月21日起休7天中评论 会不会春节放假后又阳一次?..BUG4 在
你翻墙过吗?国内使用vpn翻墙可能会被网警抓,你需了解的事中评论 不是吧?..博主 在
go语言+beego框架中获取get,post请求的所有参数中评论 @ t1 直接在router.go文件中配就ok..Jade 在
如何在MySQL查询中获得当月记录中评论 Dear zongscan.com team, We can skyroc..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号