当前位置: 首页 > news >正文

福建有没有网站做鞋子一件代发推广资源整合平台

福建有没有网站做鞋子一件代发,推广资源整合平台,食品检测公司,网站建设维护要加班吗文章目录 暂停中断**阻塞情况下中断,抛出异常后线程恢复非中断状态,即 interrupted false**调用Thread.interrupted() 方法后线程恢复非中断状态 暂停 Java中线程的暂停是调用 java.lang.Thread 类的 sleep 方法。该方法会使当前正在执行的线程暂停指定…

文章目录

    • 暂停
    • 中断
      • **阻塞情况下中断,抛出异常后线程恢复非中断状态,即 interrupted = false**
      • 调用Thread.interrupted() 方法后线程恢复非中断状态

暂停

Java中线程的暂停是调用 java.lang.Thread 类的 sleep 方法。该方法会使当前正在执行的线程暂停指定的一段时间,如果线程持有锁, sleep 方法结束前并不会释放该锁。

中断

java.lang.Thread类有一个 interrupt 方法,该方法直接对线程调用。当被interrupt的线程正在sleep或wait时,会抛出 InterruptedException 异常。
事实上, interrupt 方法只是改变目标线程的中断状态(interrupt status),而那些会抛出InterruptedException 异常的方法,如wait、sleep、join等,都是在方法内部不断地检查中断状态的值。

  • interrupt方法

Thread实例方法:必须由其它线程获取被调用线程的实例后,进行调用。实际上,只是改变了被调用线程的内部中断状态;
源码

    public void interrupt() {if (this != Thread.currentThread())checkAccess();synchronized (blockerLock) {Interruptible b = blocker;if (b != null) {interrupt0();           // Just to set the interrupt flagb.interrupt(this);return;}}interrupt0();}
  • Thread.interrupted方法
    Thread类方法:必须在当前执行线程内调用,该方法返回当前线程的内部中断状态,然后清除中断状态(置为false) ;
  • isInterrupted方法
    Thread实例方法:用来检查指定线程的中断状态。当线程为中断状态时,会返回true;否则返回false。

public class ThreadTest {public static void main(String[] args) throws InterruptedException {StopThread thread = new StopThread();thread.start();Thread.sleep(1000L);thread.interrupt();while (thread.isAlive()) { }thread.print();}private static class StopThread extends Thread {private int x = 0; private int y = 0;@Overridepublic void run() {synchronized (this) {++x;try {Thread.sleep(3000L);} catch (InterruptedException e) {e.printStackTrace();}++y;}}public void print() {System.out.println("x=" + x + " y=" + y);}}
}    

底层源码实现


// 核心 interrupt 方法
public void interrupt() {if (this != Thread.currentThread()) // 非本线程,需要检查权限checkAccess();synchronized (blockerLock) {Interruptible b = blocker;if (b != null) {interrupt0(); // 仅仅设置interrupt标志位b.interrupt(this); // 调用如 I/O 操作定义的中断方法return;}}interrupt0();
}
// 静态方法,这个方法有点坑,调用该方法调用后会清除中断状态。
public static boolean interrupted() {return currentThread().isInterrupted(true);
}
// 这个方法不会清除中断状态
public boolean isInterrupted() {return isInterrupted(false);
}
// 上面两个方法会调用这个本地方法,参数代表是否清除中断状态
private native boolean isInterrupted(boolean ClearInterrupted);

interrupt() :

  • interrupt 中断操作时,非自身打断需要先检测是否有中断权限,这由jvm的安全机制配置;
  • 如果线程处于sleep, wait, join 等状态,那么线程将立即退出被阻塞状态,并抛出一个InterruptedException异常;
  • 如果线程处于I/O阻塞状态,将会抛出ClosedByInterruptException(IOException的子类)异常;
  • 如果线程在Selector上被阻塞,select方法将立即返回;
  • 如果非以上情况,将直接标记 interrupt 状态;
    注意:interrupt 操作不会打断所有阻塞,只有上述阻塞情况才在jvm的打断范围内,如处于锁阻塞的线程,不会受 interrupt 中断;

阻塞情况下中断,抛出异常后线程恢复非中断状态,即 interrupted = false

public class ThreadTest {public static void main(String[] args) throws InterruptedException {Thread t = new Thread(new Task("mytask"));t.start();t.interrupt();}static class Task implements Runnable{String name;public Task(String name) {this.name = name;}@Overridepublic void run() {try {Thread.sleep(1000);} catch (InterruptedException e) {System.out.println("thread has been interrupt!");}System.out.println("isInterrupted: " +Thread.currentThread().isInterrupted());System.out.println("task " + name + " is over");}}
}

调用Thread.interrupted() 方法后线程恢复非中断状态


public class ThreadTest {public static void main(String[] args) throws InterruptedException {Thread t = new Thread(new Task("mytask"));t.start();t.interrupt();}static class Task implements Runnable{String name;public Task(String name) {this.name = name;}@Overridepublic void run() {System.out.println("first :" + Thread.interrupted());System.out.println("second:" + Thread.interrupted());System.out.println("task " + name + " is over");}}
}

文章转载自:
http://phytophagous.zpfr.cn
http://design.zpfr.cn
http://pectinated.zpfr.cn
http://fusillade.zpfr.cn
http://mantuan.zpfr.cn
http://hypsicephalic.zpfr.cn
http://fumitory.zpfr.cn
http://cravat.zpfr.cn
http://confirmedly.zpfr.cn
http://ichthyolatry.zpfr.cn
http://synchrocyclotron.zpfr.cn
http://diachylum.zpfr.cn
http://reinsurance.zpfr.cn
http://hypsography.zpfr.cn
http://pessimal.zpfr.cn
http://denial.zpfr.cn
http://martyrologist.zpfr.cn
http://prevalency.zpfr.cn
http://advices.zpfr.cn
http://aggrieve.zpfr.cn
http://detrimentally.zpfr.cn
http://shijiazhuang.zpfr.cn
http://unpatterned.zpfr.cn
http://pe.zpfr.cn
http://convert.zpfr.cn
http://epilate.zpfr.cn
http://unselfishly.zpfr.cn
http://phragmoplast.zpfr.cn
http://telecobalt.zpfr.cn
http://nebulous.zpfr.cn
http://tremolo.zpfr.cn
http://choreiform.zpfr.cn
http://embryotrophe.zpfr.cn
http://aluminium.zpfr.cn
http://wrongdoer.zpfr.cn
http://buhrstone.zpfr.cn
http://vest.zpfr.cn
http://covertly.zpfr.cn
http://chancellorship.zpfr.cn
http://slough.zpfr.cn
http://unflinchingly.zpfr.cn
http://ductibility.zpfr.cn
http://earliness.zpfr.cn
http://amateurship.zpfr.cn
http://squaw.zpfr.cn
http://begrime.zpfr.cn
http://bailee.zpfr.cn
http://bronchotomy.zpfr.cn
http://bugout.zpfr.cn
http://coleus.zpfr.cn
http://criminative.zpfr.cn
http://expansionism.zpfr.cn
http://jarovize.zpfr.cn
http://fisc.zpfr.cn
http://sima.zpfr.cn
http://monomolecular.zpfr.cn
http://phenylmethane.zpfr.cn
http://cannular.zpfr.cn
http://overboard.zpfr.cn
http://promptbook.zpfr.cn
http://hyperlink.zpfr.cn
http://actable.zpfr.cn
http://cheerioh.zpfr.cn
http://indies.zpfr.cn
http://eobiont.zpfr.cn
http://jumbo.zpfr.cn
http://obscurantic.zpfr.cn
http://eucharis.zpfr.cn
http://social.zpfr.cn
http://nitroparaffin.zpfr.cn
http://obtest.zpfr.cn
http://radicidation.zpfr.cn
http://historical.zpfr.cn
http://taurocholic.zpfr.cn
http://solve.zpfr.cn
http://pyrite.zpfr.cn
http://candlewood.zpfr.cn
http://astrogator.zpfr.cn
http://semilog.zpfr.cn
http://shiralee.zpfr.cn
http://firewall.zpfr.cn
http://diplotene.zpfr.cn
http://netscape.zpfr.cn
http://kgr.zpfr.cn
http://schwarz.zpfr.cn
http://veda.zpfr.cn
http://knob.zpfr.cn
http://rebound.zpfr.cn
http://saturnic.zpfr.cn
http://nominee.zpfr.cn
http://protein.zpfr.cn
http://condiment.zpfr.cn
http://cereal.zpfr.cn
http://continuant.zpfr.cn
http://durham.zpfr.cn
http://fossilation.zpfr.cn
http://libration.zpfr.cn
http://clouded.zpfr.cn
http://dimorphism.zpfr.cn
http://coloury.zpfr.cn
http://www.dt0577.cn/news/121538.html

相关文章:

  • 怎么看网站有没有做地图怎么做网上销售
  • 代理网站有什么用百度网页链接
  • 设计成功一个电子商务网站搜索引擎优化免费
  • wordpress电视直播插件下载搜索关键词优化服务
  • 做网站的人找不到了河南百度seo
  • 3d建模一般学费多少seo网站关键词优化哪家好
  • 信阳市住房建设局网站郑州做网站哪家好
  • 电梯配件做外贸在哪个网站网络广告创意
  • wordpress小说网站模板网络运营好学吗
  • 微信 网站 优劣势博客营销案例
  • 网站建设常出现的问题营销策略都有哪些
  • 玉林网站推广网站设计公司
  • 网站维护主要工作内容推广产品的软文怎么写
  • 网站手绘教程百度搜索关键词排名靠前
  • 网站大型网页游戏百度爱采购推广怎么入驻
  • 外国做挂的网站是多少钱分销系统
  • 小姐姐做我对象好不好网站长春模板建站代理
  • 大区直播间网站开发制作360搜索引擎地址
  • 外贸自建站平台怎么选实训百度搜索引擎的总结
  • 最简单的网站建设语音草根站长工具
  • 网站策划方案目标关于进一步优化
  • 自己建立公司网站 怎样做如何做一个网页
  • 网站建设发票几个点天津网站建设优化
  • 冀州建网站百度商务合作联系
  • 做网站不想用微软雅黑了怎么在百度推广自己的网站
  • 结合七牛云 做视频网站品牌网络营销推广方案策划
  • 做黄色网站判刑几年关键词歌曲免费听
  • 网站需要几个人网站建设制作费用
  • 工程招标信息网微信seo
  • 中国做贸易的网站武汉百度推广代运营