夜色资讯

Java线程动作-寝息(sleep)

发布日期:2022-08-24 14:41    点击次数:130

Java线程动作-寝息(sleep)

1住手线程

留心:

1不推选使用jdk提供的stop,destroy动作(已湮灭)

2推选线程我方停驻来

3淡薄使用一个璀璨位进行阻隔变量,当flag=false时,则阻隔线程运行

packagecom.wyh.thread;/***@program:Thread*@description:愚弄flag让线程住手*@author:魏一鹤*@createDate:2022-01-0122:38**///测试线程住手//留心点//1、淡薄线程平时住手--->愚弄次数不淡薄死轮回(就算是死轮回也要界说延时,不要跑的太快卡死cpu)//2.淡薄使用璀璨位--->开拓一个璀璨位//3.不要使用stop能够destroy等落后能够jdk不淡薄使用的动作publicclassTestThreadStopimplementsRunnable{//1.界说一个象征符决定线程是否运行true为运行false为住手privatebooleanflag=true;@Overridepublicvoidrun{inti=0;//true为运行false为住手while(flag){System.out.println("run....Thread"+i++);}}//2.界说一个动作雷同象征符住手线程publicvoidstopThread{//false让线程住手this.flag=false;}publicstaticvoidmain(String[]args){//创建线程对象TestThreadStoptestThreadStop=newTestThreadStop;//开启线程newThread(testThreadStop).start;for(inti=0;i

2线程寝息sleep

sleep(时代)指定现时哨程结巴的毫秒数(1000hs(毫秒)=1s(秒),一般一秒就够用)

sleep存在特地interruptedException

sleep时代达到后线程参加就绪现象

sleep不错模拟收集延时,倒计时等

每一个对象都有一个锁,最新动态sleep不会开释锁(线程同步)

线程寝息的作用(模拟收集延时):放大问题的发素性

买票

packagecom.wyh.thread;/***@program:Thread*@description:线程寝息(结巴)模拟收集延时*@author:魏一鹤*@createDate:2022-01-0220:13**///模拟收集延时//作用1放大问题的发素性publicclassTestThreadSleepimplementsRunnable{//票数intticketNums=10;@Overridepublicvoidrun{//火车票抢票while(true){//淌若没票了就住手if(ticketNums抢到了"+ticketNums--+"张票");}}publicstaticvoidmain(String[]args){//创建runnable接口的完美类对象TestThreadSleeptestThreadSleep=newTestThreadSleep;//3个线程一齐去抢票newThread(testThreadSleep,"魏一鹤").start;newThread(testThreadSleep,"魏一鸣").start;newThread(testThreadSleep,"黄牛党").start;}}

模拟倒计时

packagecom.wyh.thread;/***@program:Thread*@description:模拟倒计时*@author:魏一鹤*@createDate:2022-01-0220:22**/publicclassTestThreadSleep2{//倒计数动作publicstaticvoidTimeDownthrowsInterruptedException{//动手化秒数inttimeNum=10;while(true){//线程寝息1s1000ms=1sThread.sleep(1000);//自减System.out.println(timeNum--);//倒到0时代住手if(timeNum==0){System.out.println("倒计时为止!");break;}}}publicstaticvoidmain(String[]args)throwsInterruptedException{TimeDown;}}

每1s获允洽前系统时代

packagecom.wyh.thread;importjava.text.Format;importjava.text.SimpleDateFormat;importjava.util.Date;importjava.util.SimpleTimeZone;/***@program:Thread*@description:打印现通常代*@author:魏一鹤*@createDate:2022-01-0220:32**/publicclassTestThreadSleep3{//打印现时系统时代publicstaticvoidmain(String[]args)throwsInterruptedException{//获允洽前系统时代Datedate=newDate(System.currentTimeMillis);while(true){Thread.sleep(1000);System.out.println("现通常代:"+newSimpleDateFormat("HH:mm:ss").format(date));//更新现通常代date=newDate(System.currentTimeMillis);}}}

追忆sleep的特质和作用

模拟收集蔓延

倒计时

sleep不会开释锁(线程同步)

sleep存在特地interruptedException

sleep时代达到后线程参加就绪现象

sleep(时代)指定现时哨程结巴的毫秒数(1000hs(毫秒)=1s(秒),一般一秒就够用






Powered by 夜色资讯 @2013-2022 RSS地图 HTML地图