yigal_s' Journal
 
[Most Recent Entries] [Calendar View] [Friends View]

Monday, December 17th, 2012

    Time Event
    12:11a
    банальный вещь скажу.

    уж если в стране полно оружия, то зон свободных от оружия (помимо тщательно охраняемых вооруженными же людьми) быть не должно.

    То есть, либо разоружение, либо учитель младших классов с пистолетом... под юбкой.

    Иные варианты чреваты...
    6:22p
    стыдно...
    первый раз в жизни написал программу с использованием барьеров. Да и то тестирующую.

    Заодно первый раз в жизни в живую написал код барьера. За него, впрочем, не стыдно ничуть, довольно с виду неплох.
    8:44p
    ловля блох с максимальной дотошностью и формализмом
    Внезапно оказалось, что я не вполне понимаю спецификацию автоматического Event в Windows.

    Вот что в ней написано:
    http://msdn.microsoft.com/en-us/library/windows/desktop/ms682655(v=vs.85).aspx

    Auto-reset event

    An event object whose state remains signaled until a single waiting thread is released, at which time the system automatically sets the state to nonsignaled.
    If no threads are waiting, the event object's state remains signaled. If more than one thread is waiting, a waiting thread is selected. Do not assume a first-in, first-out (FIFO) order. External events such as kernel-mode APCs can change the wait order.

    Из этого описания мне несколько непонятно, можно ли просигналить Event, а ЗАТЕМ тем же тредом дождаться этого Event-a, если одновременно в наличии другие треды, уже ждущие данный Event?

    Если же кто-то процитирует "a waiting thread is selected" как свидетельство того, что выбирается всё же один из уже ждущих тредов, я спрошу иначе:

    если есть несколько ждущих тредов и два треда одновременно вызывают SetEvent, есть ли гарантия, что разблокируются два ждущих треда, или такой гарантии всё же нет и один из SetEvent может потеряться?

    << Previous Day 2012/12/17
    [Calendar]
    Next Day >>

About LJ.Rossia.org