zoukankan      html  css  js  c++  java
  • 多线程bug修复

     1 public class ThreadDemo {
     2     public static void main(String[] args) {
     3         ThreadTest test = new ThreadTest();
     4         new Thread(test).start();
     5         new Thread(test).start();
     6         new Thread(test).start();
     7         new Thread(test).start();
     8     }
     9 }
    10 
    11 class ThreadTest implements Runnable {
    12     private volatile int count = 10;
    13 
    14     public void run() {
    15 
    16         while (count > 0) {
    17             synchronized (this) {
    18                 System.out.println(Thread.currentThread().getName() + "   "
    19                         + count--);
    20             }
    21         }
    22 
    23     }
    24 }

    Thread-0 10
    Thread-3 9
    Thread-3 8
    Thread-3 7
    Thread-3 6
    Thread-3 5
    Thread-3 4
    Thread-3 3
    Thread-3 2
    Thread-3 1
    Thread-2 0
    Thread-1 -1
    Thread-0 -2

    修正案:

     1 public class ThreadDemo {
     2     public static void main(String[] args) {
     3         ThreadTest test = new ThreadTest();
     4         new Thread(test).start();
     5         new Thread(test).start();
     6         new Thread(test).start();
     7         new Thread(test).start();
     8     }
     9 }
    10 
    11 class ThreadTest implements Runnable {
    12     private volatile int count = 10;
    13 
    14     public void run() {
    15 
    16         while (count > 0) {
    17             synchronized (this) {
    18                 if (count > 0) {
    19                     System.out.println(Thread.currentThread().getName() + "   "
    20                             + count--);
    21                 }
    22             }
    23         }
    24 
    25     }
    26 }

    Thread-0 10
    Thread-1 9
    Thread-1 8
    Thread-1 7
    Thread-1 6
    Thread-0 5
    Thread-0 4
    Thread-0 3
    Thread-0 2
    Thread-0 1

  • 相关阅读:
    IDEA 必要配置
    人工智能能力提升指导总结
    lerna管理前端packages的最佳实践
    【和60】软件即服务的三重境界
    项目章程
    阅读计划
    使用PHP处理文本小技巧
    PHP性能分析
    Ubuntu安装nodejs和yarn
    挖矿病毒
  • 原文地址:https://www.cnblogs.com/lnas01/p/5152130.html
Copyright © 2011-2022 走看看