网站建设常用六大布局网站开发网页设计游戏设计
网站建设常用六大布局,网站开发网页设计游戏设计,windows网站建设教程视频教程,弹簧东莞网站建设程序等待某个同步IO操作完成#xff0c;CPU将处于空间状态。 线程安全---多个线程交替访问某个类#xff0c;调用方不需做任何的同步#xff0c;这个类始终表现出正确的行为 不共享变量变量是不可变访问变量使用同步synchronized除了实现原子性#xff08;确定临界区#… 程序等待某个同步IO操作完成CPU将处于空间状态。 线程安全---多个线程交替访问某个类调用方不需做任何的同步这个类始终表现出正确的行为 不共享变量变量是不可变访问变量使用同步 synchronized除了实现原子性确定临界区保证了内存可见性一个线程修改了变量后其他线程能够看到 14章 sleep进入休眠但有可能这是不必要的 忙等待消耗过多的CPU时钟 Thead.yield给调度器一个提示让出一定的时间给另一个线程运行 一般是二选一第三个感觉不靠谱有平台相关性。sleep抛异常yield不抛 优先使用notifyAll虽然效率低一些但容易保证准确同时满足才能使用notify 等待线程的类型都相同 每次通知只能唤醒一个线程 synchronized、reentrantlock区别 reentrantlock有公平锁、非阻塞(防止死锁)、可以绑定多个条件 AQS只可能在一个地方阻塞通过CAS实现 15章 通过原子变量和非阻塞的同步机制提高性能和可伸缩性将发生竞争的范围缩小到单个变量上粒度更细 Java的锁例如重入锁语法简洁但实现不简单至少需要一次CAS CAS缺点调用者自己处理竞争问题重试、回退、放弃锁能自动处理线程在获得锁之前一直阻塞 如果操作系统不支持CASJVM将使用自旋锁 在中低程序的竞争中原子变量提供更高的可伸缩性。高强度的竞争中锁能有效避免竞争。 当交通更拥堵信号灯能实现更高的吞吐量低拥堵的时候环岛能实现更高吞吐量 创建非阻塞算法的关键在于找出如何将原子修改的范围缩小到单个变量维护数据的一致性CASvolatile JDK升级提到的性能提升主要来自于非阻塞算法的应用 16章 在共享内存的多处理器架构中每个处理器都有自己的缓存定期与主存同步 内存屏障---强制刷新缓存 Happens-Before---两个操作如果缺少Happens-Before关系了JVM会重排序同步解决 Happens-Before规则 监视器锁规则在同一个监视器锁上解锁操作在加锁操作之前执行 DCL要使用volatile 初始化安全性---含有final域的对象可以防止对象的初始引用被重排序到构造过程之前。 不是final域或者存在除构造函数以外的其他方法能修改 转载于:https://www.cnblogs.com/jasonChung/p/6911111.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/90527.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!