语言选择:
免费网上英汉字典|3Dict

race condition

资料来源 : Free On-Line Dictionary of Computing

race condition
     
        Anomalous behavior due to unexpected critical dependence on
        the relative timing of events.
     
        For example, if one process writes to a file while another is
        reading from the same location then the data read may be the
        old contents, the new contents or some mixture of the two
        depending on the relative timing of the read and write
        operations.
     
        A common remedy in this kind of race condition is {file
        locking}; a more cumbersome remedy is to reorganize the system
        such that a certain processes (running a {daemon} or the like)
        is the only process that has access to the file, and all other
        processes that need to access the data in that file do so only
        via interprocess communication with that one process.
     
        As an example of a more subtle kind of race condition,
        consider a {distributed} {chat} {network} like {IRC}, where a
        {user} is granted channel-operator {privileges} in any channel
        he starts.  If two users on different {servers}, on different
        ends of the same network, try to start the same-named channel
        at the same time, each user's respective server will grant
        channel-operator privileges to each user, since neither will
        yet have received the other's signal that that channel has
        been started.
     
        In this case of a race condition, the "shared resource" is the
        conception of the {state} of the network (what channels exist,
        as well as what users started them and therefore have what
        privileges), which each server is free to change as long as it
        signals the other servers on the network about the changes so
        that they can update their conception of the state of the
        network.  However, the {latency} across the network makes
        possible the kind of race condition described.  In this case,
        heading off race conditions by imposing a form of control over
        access to the shared resource -- say, appointing one server to
        be in charge of who holds what privileges -- would mean
        turning the distributed network into a centralized one (at
        least for that one part of the network operation).  Where this
        is not acceptable, the more pragmatic solution is to have the
        system recognize when a race condition has occurred and to
        repair the ill effects.
     
        Race conditions also affect electronic circuits where the
        value output by a {logic gate} depends on the exact timing of
        two or more input signals.  For example, consider a two input
        AND gate fed with a logic signal X on input A and its
        negation, NOT X, on input B.  In theory, the output (X AND NOT
        X) should never be high.  However, if changes in the value of
        X take longer to propagate to input B than to input A then
        when X changes from false to true, there will be a brief
        period during which both inputs are true, and so the gate's
        output will also be true.  If this output is fed to an
        edge-sensitive component such as a counter or flip-flop then
        the temporary effect ("{glitch}") will become permanent.
     
        (2002-08-03)
依字母排序 : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z