<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)  編輯  收藏


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


    網站導航:
     
    主站蜘蛛池模板: 四虎精品成人免费视频| 免费看黄福利app导航看一下黄色录像 | 日韩精品成人无码专区免费| 久久久久亚洲AV无码观看| 免费h视频在线观看| 亚洲AV无码乱码在线观看裸奔| 国产免费一区二区三区在线观看| 亚洲日韩激情无码一区| 免费视频一区二区| 久久精品国产精品亚洲毛片| 亚洲免费人成视频观看| 亚洲a视频在线观看| 国产精品久久久久影院免费| 一级特黄a免费大片| 亚洲产国偷V产偷V自拍色戒 | 亚洲va成无码人在线观看| 成人免费视频国产| eeuss免费影院| 亚洲av无码不卡| 国产精品久久久久免费a∨| 亚洲最大无码中文字幕| 日本xxwwxxww在线视频免费 | 免费播放国产性色生活片| 亚洲午夜无码久久久久| 国产精品久久久久久久久免费| 亚洲熟妇无码一区二区三区导航| 免费a级黄色毛片| 青青操在线免费观看| 亚洲精品午夜视频| 日韩精品免费一区二区三区| 国产精品免费观看视频| 亚洲成年人免费网站| 亚洲精品国产福利一二区| 97青青草原国产免费观看| 亚洲国产成人综合精品| 亚洲精品国产精品乱码不99| 黄色成人网站免费无码av| CAOPORM国产精品视频免费| 亚洲日本香蕉视频观看视频| 丁香亚洲综合五月天婷婷| 99re热精品视频国产免费|