![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA中Thread注意事项
敲码的猴子
这个作者很懒,什么都没留下…
展开
-
Java多线程学习之wait、notify/notifyAll 详解
1、wait()、notify/notifyAll() 方法是Object的本地final方法,无法被重写。 2、wait()使当前线程阻塞,前提是 必须先获得锁,一般配合synchronized 关键字使用,即,一般在synchronized 同步代码块里使用 wait()、notify/notifyAll() 方法。 3、 由于 wait()、notify/notifyAll() 在synchronized 代码块执行,说明当前线程一定是获取了锁的。 当线程执行wait()方法时候,会释放当前的锁转载 2021-06-12 12:30:48 · 711 阅读 · 0 评论 -
多线程中的死锁(deadlock)
public class DeadLock { public static void main(String[] args) { Object o1 = new Object(); Object o2 = new Object(); Thread t1 = new MyThread1(o1,o2); Thread t2 = new MyThread2(o1,o2); t1.start(); t2...原创 2021-06-10 18:20:56 · 144 阅读 · 0 评论 -
多线程Thread(顺序问题:亘古不变的道理,永远都是自上而下的顺序依次执行)
package com.bjpowernode.java.thread; /* 实现线程的第一种方式: 编写一个类,直接继承java.lang.Thread,重写run方法。 怎么创建线程对象? new就行了。 怎么启动线程呢? 调用线程对象的start()方法。 注意: 亘古不变的道理: 方法体当中的代码永远都是自上而下的顺序依次逐行执行的。 以下程序的输出结果有这样的特点: 有先有后。 有多有少。 这是咋回事?这里画一个问号?...原创 2021-06-09 15:59:54 · 388 阅读 · 0 评论