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

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

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

    敬的世界

    常用鏈接

    統計

    最新評論

    關于 Thread

    We began this section by wondering whether it was preferable to program a task using the Runnable interface or the Thread class. We've seen examples of why you would need each. There's an additional advantage to the Runnable interface, however. With Runnable, Java provides a number of classes that handle threading issues for you. These classes handle thread pooling, task scheduling, or timing issues. If you're going to use such a class, your task must be a Runnable object (or, in some cases, an object that has an embedded Runnable object).

    If you do a thorough program design and Unified Modeling Language (UML) model of your application, the resulting object hierarchy tells you pretty clearly whether your task needs to subclass another class (in which case you must use the Runnable interface) or whether you need to use the methods of the Thread class within your task. But if your object hierarchy is silent on the parent class for your task, or if you do a lot of prototyping or extreme programming, then what? Then the choice is yours: you can use the Runnable interface, which gives you a little more flexibility at the cost of the overhead of keeping track of the thread objects separately, or you can trade that flexibility for simplicity and subclass the Thread class.

    Definition: Mutex Lock

    A mutex lock is also known as a mutually exclusive lock. This type of lock is provided by many threading systems as a means of synchronization. Only one thread can grab a mutex at a time: if two threads try to grab a mutex, only one succeeds. The other thread has to wait until the first thread releases the lock before it can grab the lock and continue operation.

    In Java, every object has an associated lock. When a method is declared synchronized, the executing thread must grab the lock associated with the object before it can continue. Upon completion of the method, the lock is automatically released.


    Under the covers, the concept of synchronization is simple: when a method is declared synchronized, the thread that wants to execute the method must acquire a token, which we call a lock. Once the method has acquired (or checked out or grabbed) this lock, it executes the method and releases (or returns) the lock. No matter how the method returns梚ncluding via an exception梩he lock is released. There is only one lock per object, so if two separate threads try to call synchronized methods of the same object, only one can execute the method immediately; the other has to wait until the first thread releases the lock before it can executethe method.

    posted on 2008-10-15 18:34 picture talk 閱讀(126) 評論(0)  編輯  收藏


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


    網站導航:
     
    主站蜘蛛池模板: 最新久久免费视频| 美女视频黄视大全视频免费的| 你是我的城池营垒免费看| 日本中文一区二区三区亚洲| 亚洲国产成人精品无码区二本 | 久久水蜜桃亚洲av无码精品麻豆 | 国产免费一区二区三区免费视频| 国产成人免费片在线观看| 亚洲av无码无线在线观看| 日韩成人免费在线| 香蕉视频免费在线| 国产成人精品曰本亚洲79ren| 9i9精品国产免费久久| 亚洲av色影在线| 999国内精品永久免费观看| 国产亚洲玖玖玖在线观看| 香蕉视频在线观看免费国产婷婷 | 亚洲成av人在片观看| 国产精品美女免费视频观看| 亚洲av午夜成人片精品网站| 久久久99精品免费观看| 亚洲一级毛片免费在线观看| 久久精品国产亚洲香蕉| 99热在线观看免费| 亚洲色大成网站www永久网站| 四虎成人精品在永久免费| 中出五十路免费视频| 亚洲香蕉久久一区二区三区四区| 国产91在线免费| 久久免费观看国产精品| 亚洲国产成人九九综合| 亚洲Av无码乱码在线观看性色 | 久久精品亚洲日本佐佐木明希| 亚洲精品免费在线| 看免费毛片天天看| 亚洲欧洲∨国产一区二区三区| 69av免费视频| 日韩一区二区三区免费播放| 久久亚洲sm情趣捆绑调教| 日韩免费高清视频| 久久香蕉国产线看免费|