面向并发程序中锁机制的智能化推荐方法

2021-07-02 08:54:22董士程
计算机应用 2021年6期
关键词:程序机制模型

张 杨,董士程

(河北科技大学信息科学与工程学院,石家庄 050018)

(∗通信作者电子邮箱zhangyang@hebust.edu.cn)

0 引言

同步控制是并发程序中用于保证程序状态和数据正确的必备措施,目前学术界和工业界提出了多种同步控制方式,包括锁、原子块和软件事务型内存。锁是目前使用较为广泛且程序员熟悉度较高的一种同步控制方式;原子块使用乐观锁策略以原子方式更新数据,操作简单,但是原子操作的程序编写相对复杂;软件事务型内存使用事务机制实现并发操作,但在大量事务执行时对硬件要求较高,在数据竞争频繁的情况下开销较大。在多核时代,虽然使用锁会遇到锁竞争问题,但是锁仍然是目前作为同步控制的主要方式。

Java 语言提供了同步锁、可重入锁、读写锁、邮戳锁等多种类型的锁,其中同步锁是一种互斥锁,程序开发者多以同步方法或同步块的形式使用同步锁;可重入锁是一种互斥锁,它和同步锁具有相同的基本行为和语义,但是在同步锁的基础上扩展了许多功能;读写锁除了提供了可重入锁的一些特性外,又把锁分为读锁和写锁,读写锁允许更大程度的并发;从JDK1.8 版本开始引入的邮戳锁还提供了锁升级、降级、优化读等操作。每种机制都有优缺点与各自的适用场景,这要求程序开发者必须熟练掌握它们的特点,并在并发软件开发时作出正确的选择。

多种锁机制并存的局面以及在使用不同锁机制时程序性能的差异情况导……

登录APP查看全文

猜你喜欢
程序机制模型
一半模型
重尾非线性自回归模型自加权M-估计的渐近分布
试论我国未决羁押程序的立法完善
人大建设(2019年12期)2019-05-21 02:55:44
自制力是一种很好的筛选机制
文苑(2018年21期)2018-11-09 01:23:06
“程序猿”的生活什么样
英国与欧盟正式启动“离婚”程序程序
环球时报(2017-03-30)2017-03-30 06:44:45
3D打印中的模型分割与打包
创卫暗访程序有待改进
中国卫生(2015年3期)2015-11-19 02:53:32
破除旧机制要分步推进
中国卫生(2015年9期)2015-11-10 03:11:12
注重机制的相互配合
中国卫生(2014年3期)2014-11-12 13:18:12