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

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

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

    愛睡覺的程序員

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      5 隨筆 :: 0 文章 :: 0 評論 :: 0 Trackbacks
         Semaphore,是用于控制一組線程訪問資源。舉個例子,老師上課,同學需要上廁所,老師準備了3個令牌,拿到令牌的同學就可以去上廁所,上完廁所的同學需要歸還令牌。這樣就最多同時只有3名同學上廁所。這就是Semaphore的應用場景。
        Semaphore的構(gòu)造函數(shù)可初始化令牌數(shù)量、是否公平鎖。如果是公平鎖,先申請令牌的可以先獲取。
        acquire() 和release()分別是獲取和釋放令牌,acquire(int) 和release(int) 分別是獲取和釋放多個令牌。
        例子實現(xiàn)如下:
    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 閱讀(436) 評論(0)  編輯  收藏

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


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 久久国产乱子精品免费女| 一区二区免费电影| 久久精品免费一区二区| 久久久久亚洲精品成人网小说| 人成电影网在线观看免费| 一本久到久久亚洲综合| 无人视频免费观看免费视频 | 毛片亚洲AV无码精品国产午夜| 久久久久免费看黄A片APP| 亚洲色图激情文学| 免费涩涩在线视频网| 国产亚洲精品精品精品| 免费萌白酱国产一区二区| 亚洲国产免费综合| 亚洲AV综合色一区二区三区| 蜜桃成人无码区免费视频网站| 亚洲综合激情六月婷婷在线观看| 97性无码区免费| 色偷偷亚洲第一综合网| 亚洲片国产一区一级在线观看| 青青操免费在线视频| 亚洲国产一区二区三区青草影视| 中文字幕免费在线看线人 | 亚洲午夜在线电影| 野花高清在线观看免费完整版中文 | 亚洲成人免费网站| 久久亚洲精品国产精品婷婷| 在线观看亚洲免费| 中国国语毛片免费观看视频| 亚洲性色成人av天堂| 国产免费黄色大片| 永久免费A∨片在线观看| 亚洲娇小性色xxxx| 老司机亚洲精品影视www| 最近2019中文字幕免费大全5| 亚洲熟妇AV乱码在线观看| 色久悠悠婷婷综合在线亚洲| 4455永久在线观免费看| 青青青视频免费观看| 亚洲精品人成电影网| 免费观看四虎精品国产永久|