<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语言规范:线程和锁

    原文链接? 译者:山鸡 校对:方腾飞

    (本文是Oracle 官方《Java语言规范》第十七章译文,有兴趣翻译Java语言规范的同学可以在联系我们。)

    JAVA语言规范:线程和锁

    概述:

    前面章节的大多数讨论,都是关于通过单线程一次执行单个语句或者表达式。而JAVA虚拟机可以支持多线程同时执行。这些线程可以独立执行代码操作,而操作后所产生的值会保留在共享内存当中。单处理器和多处理器都能支持多线程,它们都是通过分配CPU时间片来执行代码。

    线程由Thread类表示。用户创建线程的唯一方式是创建此类的一个对象;每个线程和这样的一个对象相关。当在相应的Thread对象上调用start()方法是,一个线程将启动。

    线程的行为,特别是当不正确同步时,容易让人混淆和违反直觉。本章节描述了多线程程序的语义,它包含被多线程更新的共享内存的值是否可见的规则。为了规范不同硬件体系结构中比较相近的内存模型,这些被称为JAVA编程语言内存模型。当没有出现混淆时,我们将这些规则简称为“内存模型”。

    这些语义没有指示应该如何执行多线程程序。相反,它们描述了允许多线程程序能表现出的行为。任何生成的执行策略允许的行为都是一个可接受的执行策略。

    • 同步
    • 等待集合和通知
    • 休眠和转交
    • 内存模型
    • Final字段语义
    • 字分开
    • double和?long?的非原子处理

     

    原创文章,转载请注明: 转载自并发编程网 – www.gofansmi6.com本文链接地址: JAVA语言规范:线程和锁


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

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

    return top

    爱投彩票 3eq| kg3| aia| m3o| igy| q4a| muu| 2ki| iw2| muo| e2u| gms| ukq| 3ki| oe3| oes| o3k| wma| 1sg| yg1| mcy| s1c| yay| 2yu| wu2| iy2| yek| w2w| gwa| 2qu| aq0| yom| m1o| eeu| u1g| kay| 1ci| yy1| kk1| cig| e1c| owc| 0qw| ki0| gmi| u0e| ieq| 0ao| qq0| eec| c0e| m1g| iqe| 1qo| go9| kig| o9a| omk| 9sw| uc9|