線程學習---對synchronized的測試

          public class myThread extends Thread {
          ?public void run() {
          ??synchronized(System.out){
          ???for (int i = 0; i < 10; i++) {
          ????try{
          ?????sleep(100);
          ????}catch(InterruptedException e){e.printStackTrace();}
          ????
          ????System.out.println(getName() + ": i=" + i);
          ????if (i==9) System.out.println("=========");
          ???}
          ??}
          ?}

          ?public static void main(String[] a) {
          ??myThread thread1 = new myThread();
          ??myThread thread2 = new myThread();
          ??thread1.setName("A");thread1.start();
          ??thread2.setName("B");thread2.start();
          ?}
          }

          在這個測試中,由于執行所需時間片太短,如果不在其中加一句sleep(100)的話,線程A 和線程B的交叉就體現不出來,就更不用說驗證synchronized的作用了; 另,注意synchronized所同步的對象是System.out, 而不是this.

          posted on 2007-05-22 09:34 心硯 閱讀(253) 評論(0)  編輯  收藏 所屬分類: Java

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          常用鏈接

          留言簿(2)

          隨筆分類

          文章分類

          文章檔案

          Forum

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 北川| 衡山县| 崇州市| 沅江市| 雷波县| 高安市| 年辖:市辖区| 锦州市| 奇台县| 永春县| 镇安县| 宁德市| 日土县| 三都| 伊通| 淳安县| 北川| 平罗县| 鹤庆县| 南澳县| 孝感市| 龙岩市| 无极县| 台中市| 高要市| 漠河县| 天长市| 海兴县| 中西区| 井研县| 江山市| 报价| 玉龙| 阿尔山市| 布尔津县| 乐陵市| 孟连| 交城县| 定日县| 定兴县| 汪清县|