• 大小: 2.64KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-02-20
  • 语言: Java
  • 标签:

资源简介

Java 解决线程的死锁问题(基础篇-实例181).zip

资源截图

代码片段和文件信息

package com.mingrisoft.thread;

public class DeadLock implements Runnable {
    private boolean flag;// 使用flag变量作为进入不同块的标志
    private static final object o1 = new object();
    private static final object o2 = new object();
    
    public void run() {
        String threadName = Thread.currentThread().getName();// 获得当前线程的名字
        System.out.println(threadName + “: flag = “ + flag);// 输出当前线程的flag变量值
        if (flag == true) {
            synchronized (o1) {// 为o1加锁
                try {
                    Thread.sleep(1000);// 线程休眠1秒钟
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                System.out.println(threadName + “进入同步块o1准备进入o2“);// 显示进入o1块
                System.out.println(threadName + “已经进入同步块o2“);// 显示进入o2块
            }
            if (flag == false) {
                synchronized (o2) {
                    try {
                        Thread.sleep(1000);
                   

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件         232  2015-08-28 13:54  .classpath
     文件         379  2015-08-28 13:54  .project
     文件        2178  2015-08-28 13:54  bin\com\mingrisoft\thread\DeadLock.class
     文件        1886  2015-08-28 13:54  src\com\mingrisoft\thread\DeadLock.java

评论

共有 条评论