首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

第九章 Java多线程机制 05_线程同步_二

2012-09-17 
第九章 Java多线程机制 05_线程同步_2鱼欲遇雨:每日都学习一点,持之以恒,天道酬勤!不能用电脑时,提前补上!

第九章 Java多线程机制 05_线程同步_2

鱼欲遇雨:每日都学习一点,持之以恒,天道酬勤!不能用电脑时,提前补上!(2012.9.3)



怎么避免同步那?也就是避免同一时间对同一资源进行调用,方法就是用synchronize锁住当前的线程!

// TestSync.javapublic class TestSync implements Runnable {Timer t = new Timer();public static void main(String args[]) {TestSync test = new TestSync();Thread t1 = new Thread(test);Thread t2 = new Thread(test);t1.setName("t1");t2.setName("t2");t1.start();t2.start();}public void run() {t.add(Thread.currentThread().getName());}}class Timer {private static int num = 0;public /*synchronized*/ void add(String name) {   //第一种用法synchronized (this) {                         //第二种用法!num ++;try{Thread.sleep(1);}catch (InterruptedException e){}System.out.println(name + ", 你是第" + num + "个使用timer的线程。");}}}

结果是:

t1, 你是第1个使用timer的线程。

t2, 你是第2个使用timer的线程。


热点排行