A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Dej@vu 中级黑马   /  2013-8-3 19:45  /  988 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


  1. /**
  2. * 第一种 同步代码快Synchronized(){}
  3. * */
  4. public class Thread0003 {
  5.         public static void main(String[] args) {
  6.                 ThreadTest t = new ThreadTest();
  7.                 Thread t1 = new Thread(t);
  8.                 Thread t2 = new Thread(t);
  9.                 Thread t3 = new Thread(t);
  10.                 t1.start();
  11.                 t2.start();
  12.                 t3.start();
  13.         }
  14. }

  15. class ThreadTest implements Runnable {
  16.         private static int tick = 100;
  17.         Object obj = new Object();

  18.         public void run() {
  19.                 while (true) {
  20.                         synchronized (obj) {
  21.                                 if (tick > 0) {
  22.                                         try {
  23.                                                 Thread.sleep(10);
  24.                                         } catch (Exception e) {
  25.                                         }
  26.                                         System.out.println(Thread.currentThread().getName() + ":"
  27.                                                         + tick--);
  28.                                 }
  29.                         }
  30.                 }
  31.         }
  32. }
复制代码
/**
* 第二种 同步函数
* */
public class Thread0004 {
        public static void main(String[] args) {
                ThreadTest1 t = new ThreadTest1();
                Thread t1 = new Thread(t);
                Thread t2 = new Thread(t);
                Thread t3 = new Thread(t);
                t1.start();
                t2.start();
                t3.start();
        }
}
class ThreadTest1 implements Runnable {
        private static int tick = 100;

        // Object obj = new Object();

        public void run() {
                while (true) {
                        // synchronized (obj) {
                        show();
                        // }
                }
        }
        public synchronized void show() {
                if (tick > 0) {
                        try {
                                Thread.sleep(10);} catch (Exception e) {}
                        System.out.println(Thread.currentThread().getName() + ":" + tick--);
                }
        }
}

评分

参与人数 1黑马币 +3 收起 理由
神之梦 + 3 要有自己的一些见解才好哦

查看全部评分

1 个回复

倒序浏览
您需要登录后才可以回帖 登录 | 加入黑马