java 线程 wait 一定要同步_java中使用wait就得使用同步锁,而且2个线程必须都使用同步代码块,否则就会异常...
标签:
标题已经说明,子线程wai()时候默认的锁不是同步代码块的锁,因此wai时候显示的指明锁,现在解释看code:
public class Test {
//staticboolean flag=true;
public static void main(String[] args) throws InterruptedException {
Zp z=new Zp();
Thread st=new Thread(z);
st.start();
for(int x=0;x<100000;x++)
{
if(x%5000==0)
{
//flag=false;
Thread.sleep(3000);
synchronized (Test.class) //这里必须判断同步,否则当子线程没有放弃锁的时候,就执行下面会出现异常
{
Test.class.notify();
}
}
}
}
static class Zp implements Runnable
{
@Override
public void run() {
synchronized (Test.class) {
while(true)
{
for(int x=0;x<10;x++)
{
System.out.println("haha...");
}
try {
Test.class.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
}
标签:
java 线程 wait 一定要同步_java中使用wait就得使用同步锁,而且2个线程必须都使用同步代码块,否则就会异常...相关推荐
- java什么时候需要同步_JAVA中线程在什么时候需要同步和互斥
JAVA中线程在什么时候需要同步和互斥 关注:265 答案:6 mip版 解决时间 2021-01-27 08:10 提问者时光易老 2021-01-27 03:32 JAVA中线程在什么时候需要 ...
- java中什么是同步_Java中,“synchronized”(同步)是什么意思?什么时候应该用synchronized? - Break易站...
synchronized关键字的意义是什么? 什么时候应该是方法synchronized? 这是什么编程和逻辑? Java中,"synchronized"(同步)是什么意思?什么时 ...
- java类同步_Java中方法,对象,类的同步
关于在多线程环境中使用同步,我需要一些澄清.我在下面有一个小例子类.但我实际上发现很难做出以下内容如何工作的测试用例;我想要测试用例的原因是要了解同步如何处理这些不同的场景 >如果一个线程调用S ...
- 在java中创建线程有几种办法_Java中创建线程的几种主流方式
继承Thread类 继承Thread类,并重写它的run方法,就可以创建一个线程了,当然线程是如何真正被启动,可以参考我之前的 为什么start方法才能启动线程,而run不行? class Think ...
- JAVA中初始化线程的两种方法_java中最简单的方式新起一个线程
启动一个线程 在一个方法中启动一个线程,有两种方法 第一种是让类实现Runable接口,这样的话编译器就会提示你实现里面的未实现的方法(就是run方法) 第二种是,现在方法中new一个线程,然后直接调 ...
- java怎样将日期本土化_Java中的日期操作
在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception { SimpleDateFormat sdf = n ...
- Java如何解决mysql读写延迟_java中延迟任务的处理方式
1.利用延迟队列 延时队列,第一他是个队列,所以具有对列功能第二就是延时,这就是延时对列,功能也就是将任务放在该延时对列中,只有到了延时时刻才能从该延时对列中获取任务否则获取不到-- 应用场景比较多, ...
- java斐波那切数列_Java中的递归方法
递归算法 1.递归算法 递归在计算机科学中也称为递归算法.一些问题在分解的时候会有这样的现象:解决该问题的过程是由重复的相似子过程组成,类似这样的问题我们都可以通过递归算法进行解决.在计算机语言中,递 ...
- java finally什么时候不执行_Java 中的 finally 一定会被执行吗?
不要因害怕冒险而踟蹰不前,而要为创造伟大提供可能. 一.前言 因为这次面试有问到一些同学finally的问题,发现自己这块好像有点记不太清楚了,有的点可能还给人家说错了,一度弄得场面有些尴尬.所以说这 ...
最新文章
- SHELL-命令解释程序
- MySQL开启federated引擎实现数据库表映射
- sql server set赋值和select 赋值的区别以及使用方法
- 有一只经过训练的蜜蜂……
- Apache Shiro源码解读之SecurityManager的创建
- 输变电设备物联网传感器数据通信规约_输变电设备“智慧物联”提升电网质效...
- linux-jmeter负载机配置记录
- 【转载】用备份进行Active Directory的灾难重建:Active Directory系列之三
- 基于php网络小说,五部小说点击破亿,盘点网络文学白金作家我吃西红柿!
- Android图片加载那些事(一)-实现加载手机中的所有图片
- TCP和UDP区别和优缺点
- ArcGIS批量按要素裁剪(应用模型)
- 路由器和交换机的工作原理
- 怎样用python画玫瑰花的简笔画_玫瑰花简笔画素描作品图片
- 字节跳动员工晒出税后工资,网友:怀疑你是日薪
- Unity高质量场景打光参考资料
- 8年京东大数据架构师推荐的大数据开发学习路线
- 【Ubuntu 20.04 LTS】如何安装软件详细讲解
- java 获取 海康 视频流_海康网络摄像机调用SDK解码Java版
- vc使用默认的浏览器打开网页代码