roundup与int的区别_notifyall()和notify()区别

roundup与int的区别_notifyall()和notify()区别 isInterrupted()和interrputed()方法的区别isInterrupted方法是实例方法,interrupted方法是静态方法。Thread.currentThread().isInterrupted()Thread.interrupted()首先说明:wait(),notify(),notifyAll()这些方法由java.lang.Object类提供

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

 

isInterrupted()和interrputed()方法的区别

isInterrupted方法是实例方法,interrupted方法是静态方法。

Thread.currentThread().isInterrupted()

Thread.interrupted()

首先说明:wait(),notify(),notifyAll()这些方法由java.lang.Object 类提供,而上面讲到的方法都是由java.lang.Thread 类提供(Thread类实现了Runnable 接口)。wait(),notify(),notifyAll()这三个方法用于协调多个线程对共享数据的存取,所以必须在synchronized 语句块内使用这三个方法。先看下面了例子:

示例12:

public class ThreadTest implements Runnable{

public static int shareVar = 0;

public synchronized void run(){

if(shareVar == 0){

for(int i=0;i<10;i++){

shareVar++ ;

if(shareVar == 5){

try{

this.wait();

}catch(Exception e){}

}} }

if(shareVar != 0){

System.out.print(Thread.currentThread().getName());

System.out.println(” shareVar = ” + shareVar);

this.notify();

}

}

public static void main(String[] args){

Runnable r = new ThreadTest();

Thread t1 = new Thread(r,”t1″);

Thread t2 = new Thread(r,”t2″);

t1.start();

t2.start();

}}

运行结果:

t2 shareVar = 5

t1 shareVar = 10

t1线程最先执行。由于初始状态下shareVar 为0,t1 将使shareVar 连续加1,当shareVar的值为5 时,t1 调用wait()方法,t1 将处于休息状态,同时释放锁标志。这时t2 得到了锁标志开始执行,shareVar 的值已经变为5,所以t2 直接输出shareVar 的值,然后再调用notify() 方法唤醒t1。t1 接着上次休息前的进度继续执行,把shareVar 的值一直加到10,由于此刻shareVar 的值不为0,所以t1 将输出此刻shareVar的值,然后再调用notify()方法,由于此刻已经没有等待锁标志的线程,所以此调用语句不起任何作用。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/219259.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 函数指针

    函数指针前言:先看两个基础,函数指针和extern关键字,然后由一个具体的例子,具体使用下函数指针。一、基础函数指针:即指向函数的指针,本质还是一个指针。函数指针的声明:返回值类型(*指针变量名)

    2022年7月4日
  • C#学生成绩管理系统「建议收藏」

    C#学生成绩管理系统「建议收藏」##课设不用愁C#学生成绩管理系统>学生选课及成绩查询系统是一个学校不可缺少的部分,传统的人工管理档案的方式存在着很多的缺点,如:效率低、保密性差等,所以开发一套综合教务系统管理软件很有必要

    2022年7月3日
  • Apache HttpClient4使用教程

    Apache HttpClient4使用教程基于HttpClient4.5.2执行GET请求CloseableHttpClienthttpClient=HttpClients.custom().build();CloseableHttpResponseresponse=httpClient.execute(newHttpGet(&quot;https://www.baidu.com&quot;));…

    2022年7月22日
  • python实现卷积操作

    python实现卷积操作文章目录调用tf.nn.conv2d()实现卷积自己实现卷积函数我们知道,tensorflow里面自带卷积函数,tf.nn.conv2d()就可以实现相关功能,本文主要是自己实现卷积操作,然后和tf.nn.conv2d()函数的结果对比,验证正确性。调用tf.nn.conv2d()实现卷积首先是调用卷积函数实现卷积操作:这里说明一下conv2d的定义及参数含义:参考【定义:】tf.n…

    2022年5月28日
  • 求z=x-y的概率密度_X和Y独立同分布

    求z=x-y的概率密度_X和Y独立同分布Z=X+Y型概率密度的求解@(概率论)Z=g(X,Y)Z=g(X,Y)总结过一次,一般方法是可以由分布函数再求导得到概率密度,计算一定更要小心才能得到正确的解。FZ(z)=P(Z≤z)=P(g(X,Y)≤z)=∫∫g(x,y)≤zf(x,y)dxdyF_Z(z)=P(Z\leqz)=P(g(X,Y)\leqz)\\=\int\int_{g(x,y)\leqz}f(x,y)d

    2022年10月18日
  • 咸鱼ZTMR实例—PS2手柄

    咸鱼ZTMR实例—PS2手柄咸鱼ZTMR实例—PS2手柄主控板:ZTMR开发板PS2手柄PS2手柄是游戏机的遥控手柄。psx系列游戏主机在全球很是畅销。不知什么时候便有人打起PS2手柄的主意,破解了通讯协议,使得手柄可以接在其他器件上遥控使用,比如遥控我们熟悉的机器人。突出的特点是现在这款手柄性价比极高。按键丰富,方便扩展到其它应用中。PS2由手柄与接收器两部分组成,手柄主要负责发送按键信息。都接通电…

    2022年5月1日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号