<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    愛睡覺的程序員

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      5 隨筆 :: 0 文章 :: 0 評論 :: 0 Trackbacks
         Semaphore,是用于控制一組線程訪問資源。舉個例子,老師上課,同學需要上廁所,老師準備了3個令牌,拿到令牌的同學就可以去上廁所,上完廁所的同學需要歸還令牌。這樣就最多同時只有3名同學上廁所。這就是Semaphore的應用場景。
        Semaphore的構造函數可初始化令牌數量、是否公平鎖。如果是公平鎖,先申請令牌的可以先獲取。
        acquire() 和release()分別是獲取和釋放令牌,acquire(int) 和release(int) 分別是獲取和釋放多個令牌。
        例子實現如下:
    import java.util.Random;
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    import java.util.concurrent.Semaphore;
    import java.util.concurrent.TimeUnit;

    /**
     * Created by ganliang on 15/2/26.
     
    */
    public class SemaphoreTest {
        private static Semaphore semaphore = new Semaphore(3,true);
        public static void main(String[] args) {
            ExecutorService executorService = Executors.newCachedThreadPool();

            for (int i=0;i<10;i++){
                executorService.submit(new Student("學生"+i));
            }
            executorService.shutdown();
        }
        static class Student implements Runnable{
            private String name;
            public Student(String name){
                this.name = name;
            }
            @Override
            public void run() {
                try {
                    semaphore.acquire();
                    System.out.println(name+"拿到令牌,上廁所");
                    TimeUnit.SECONDS.sleep(new Random().nextInt(10));
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                semaphore.release();
                System.out.println(name+"歸還令牌,上課");
            }
        }
    }
    posted on 2015-02-26 18:10 polang 閱讀(437) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 91香蕉国产线在线观看免费 | 91九色老熟女免费资源站| 久久久久亚洲AV成人网| 曰批免费视频播放免费| 亚洲精品和日本精品| 国产区在线免费观看| 久久精品亚洲综合一品| 日韩午夜理论免费TV影院| 亚洲精品资源在线| 毛片高清视频在线看免费观看| 中文字幕亚洲男人的天堂网络| 午夜dj免费在线观看| 美国免费高清一级毛片| 国产AV无码专区亚洲AV手机麻豆| 国色精品va在线观看免费视频 | 亚洲精品国产美女久久久| 免费高清国产视频| 亚洲欧洲日产国码在线观看| 久久久久久国产精品免费免费| 亚洲a∨无码精品色午夜| 亚洲国产精品尤物YW在线观看| 久久国产免费直播| www国产亚洲精品久久久 | 91精品免费不卡在线观看| 亚洲免费人成视频观看| 日韩免费高清一级毛片在线| igao激情在线视频免费| 精品日韩亚洲AV无码| 午夜精品在线免费观看| 国产人成网在线播放VA免费| 亚洲女人18毛片水真多| 免费人成在线观看网站视频| 免费黄色电影在线观看| 亚洲一日韩欧美中文字幕在线| 亚洲国产中文字幕在线观看| 91精品免费观看| 一级免费黄色大片| 亚洲高清美女一区二区三区| 国产精品va无码免费麻豆| 一级毛片免费毛片一级毛片免费| 亚洲精品V天堂中文字幕|