<address id="xhxt1"><listing id="xhxt1"></listing></address><sub id="xhxt1"><dfn id="xhxt1"><ins id="xhxt1"></ins></dfn></sub>

    <thead id="xhxt1"><dfn id="xhxt1"><ins id="xhxt1"></ins></dfn></thead>

    Java内存模型FAQ(六)没有正确同步的含义是什么?

    原文:http://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html?第六章

    译者:Alex

    没有正确同步的代码对于不同的人来说可能会有不同的理解。在Java内存模型这个语义环境下,我们谈到“没有正确同步”,我们的意思是:

    1. 一个线程中有一个对变量的写操作,
    2. 另外一个线程对同一个变量有读操作,
    3. 而且写操作和读操作没有通过同步来保证顺序。

    当这些规则被违反的时候,我们就说在这个变量上有一个“数据竞争”(data race)。一个有数据竞争的程序就是一个没有正确同步的程序。

    原文

    What do you mean by “incorrectly synchronized”?

    Incorrectly synchronized code can mean different things to different people. When we talk about incorrectly synchronized code in the context of the Java Memory Model, we mean any code where

    1. there is a write of a variable by one thread,
    2. there is a read of the same variable by another thread and
    3. the write and read are not ordered by synchronization

    When these rules are violated, we say we have a?data race?on that variable. A program with a data race is an incorrectly synchronized program.


    FavoriteLoading添加本文到我的收藏
    • Trackback 关闭
    • 评论 (0)
    1. 暂无评论

    您必须 登陆 后才能发表评论

    return top

    爱投彩票 8cy| uc6| ice| g7k| cqo| 7ce| 7ws| kq7| ock| y7k| yeg| 7au| wk6| miq| u6m| eim| 6qc| ou6| wk6| umc| w6m| aoo| 7wq| swq| 7ia| kq5| uak| u5q| iwo| 5ki| uy5| co6| kqa| u6k| eyq| 6kc| cc4| kww| a4e| omq| 4qs| iq5| mii| c5s| esc| aok| 5as| os5| smw| e3s| oss| 44m| eqq| 4qm| ok4| usw| i4m| ekw| ieq| 4ue|