<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Java 信號量 Semaphore 介紹

       Semaphore當前在多線程環境下被擴放使用,操作系統的信號量是個很重要的概念,在進程控制方面都有應用。Java 并發庫 的Semaphore 可以很輕松完成信號量控制,Semaphore可以控制某個資源可被同時訪問的個數,通過 acquire() 獲取一個許可,如果沒有就等待,而 release() 釋放一個許可。比如在Windows下可以設置共享文件的最大客戶端訪問個數。 

      Semaphore實現的功能就類似廁所有5個坑,假如有10個人要上廁所,那么同時只能有多少個人去上廁所呢?同時只能有5個人能夠占用,當5個人中 的任何一個人讓開后,其中等待的另外5個人中又有一個人可以占用了。另外等待的5個人中可以是隨機獲得優先機會,也可以是按照先來后到的順序獲得機會,這取決于構造Semaphore對象時傳入的參數選項。單個信號量的Semaphore對象可以實現互斥鎖的功能,并且可以是由一個線程獲得了“鎖”,再由另一個線程釋放“鎖”,這可應用于死鎖恢復的一些場合。

      Semaphore維護了當前訪問的個數,提供同步機制,控制同時訪問的個數。在數據結構中鏈表可以保存“無限”的節點,用Semaphore可以實現有限大小的鏈表。另外重入鎖 ReentrantLock 也可以實現該功能,但實現上要復雜些。 

      下面的Demo中申明了一個只有5個許可的Semaphore,而有20個線程要訪問這個資源,通過acquire()和release()獲取和釋放訪問許可。

      package com.test;

      import java.util.concurrent.ExecutorService;

      import java.util.concurrent.Executors;

      import java.util.concurrent.Semaphore;

      public class TestSemaphore {

                      public static void main(String[] args) {

                      // 線程池

                      ExecutorService exec = Executors.newCachedThreadPool();

                      // 只能5個線程同時訪問

                      final Semaphore semp = new Semaphore(5);

                       // 模擬20個客戶端訪問

                       for (int index = 0; index < 20; index++) {

                                    final int NO = index;

                                    Runnable run = new Runnable() {

                                                       public void run() {

                                                                  try {

                                                                          // 獲取許可

                                                                          semp.acquire();

                                                                          System.out.println("Accessing: " + NO);

                                                                          Thread.sleep((long) (Math.random() * 10000));

                                                                          // 訪問完后,釋放

                                                                          semp.release();

                                                                          System.out.println("-----------------"+semp.availablePermits());

                                                                  } catch (InterruptedException e) {

                                                                          e.printStackTrace();

                                                                  }

                                                        }

                                            };

                            exec.execute(run);

                   }

                   // 退出線程池

                   exec.shutdown();

             }

      執行結果如下:

      Accessing: 0

      Accessing: 1

      Accessing: 3

      Accessing: 4

      Accessing: 2

      -----------------0

      Accessing: 6

      -----------------1

      Accessing: 7

      -----------------1

      Accessing: 8

      -----------------1

      Accessing: 10

      -----------------1

      Accessing: 9

      -----------------1

      Accessing: 5

      -----------------1

      Accessing: 12

      -----------------1

      Accessing: 11

      -----------------1

      Accessing: 13

      -----------------1

      Accessing: 14

      -----------------1

      Accessing: 15

      -----------------1

      Accessing: 16

      -----------------1

      Accessing: 17

      -----------------1

      Accessing: 18

      -----------------1

      Accessing: 19

      posted @ 2011-09-29 15:27  蠱惑Into  閱讀(117569)  評論(15)    收藏  舉報
      主站蜘蛛池模板: 丁香五月亚洲综合在线| 熟女少妇精品一区二区| 奇米四色7777中文字幕| 日本道之久夂综合久久爱| 国产极品粉嫩尤物一区二区| 精品一区二区不卡无码AV| 国产精成人品| 亚洲国产成人综合精品| 色一伦一情一区二区三区| 亚洲中文字幕一区二区| 麻豆成人精品国产免费| 精品无套挺进少妇内谢| 四虎影视一区二区精品| 武城县| 国产精品中文字幕第一区| 影音先锋啪啪av资源网站| 国产成人精品免费视频大全| 国产盗摄视频一区二区三区| 永久免费无码成人网站| 雷山县| 国产乱码日韩亚洲精品成人| 亚洲成人av免费一区| 阳朔县| 99久久精品久久久久久婷婷| 国产尤物精品自在拍视频首页| 极品美女扒开粉嫩小泬图片| 99久久免费精品国产色| 国产成人不卡一区二区| 久久er99热精品一区二区| 美女一区二区三区亚洲麻豆| 亚洲色大成网站www永久一区| 在线亚洲妇色中文色综合| 欧美videos粗暴| 国产欧美另类久久久精品不卡| 国产精品一区二区在线欢| 永久无码天堂网小说区| 亚洲无人区码二码三码区| 免费人成网站免费看视频| 国产成人啪精品视频免费软件 | 欧美人与动牲交a免费| 东方av四虎在线观看|