最简单的死锁

分享 小牛 ⋅ 于 2018-04-11 19:51:39 ⋅ 3028 阅读
package thread;
public class TestThread13 {
    public static void main(String[] args) throws InterruptedException {
        synchronized (TestThread13.class) {
            Thread th = new Thread(new A());
            th.start();
            th.join(100);
            System.out.println("主线程企图进入");
            synchronized(A.class){
                System.out.println("主线程进入了A.class锁");
            }
        }
    }
}
class A implements Runnable{
    @Override
    public void run() {
        synchronized (A.class) {
            System.out.println("副线程企图进入");
            synchronized (TestThread13.class) {
                System.out.println("副线程进入了TestThread13.class锁");
            }
        }
    }
}
版权声明:原创作品,允许转载,转载时务必以超链接的形式表明出处和作者信息。否则将追究法律责任。来自海汼部落-小牛,http://hainiubl.com/topics/533
成为第一个点赞的人吧 :bowtie:
回复数量: 0
    暂无评论~~
    • 请注意单词拼写,以及中英文排版,参考此页
    • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
    • 支持表情,可用Emoji的自动补全, 在输入的时候只需要 ":" 就可以自动提示了 :metal: :point_right: 表情列表 :star: :sparkles:
    • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif,教程
    • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
    Ctrl+Enter