设为首页 | 加入收藏  
软件定制开发
  网站首页 关于我们 新闻中心 产品介绍 解决方案 成功案例 服务支持 联系我们
首页 > 行业动态
 
【软件开发中各种锁的使用范围 】
来源:www.sywebsoft.com 发布者:领航科技  发布时间:2019-04-27 
 

不过毕竟实际情况的多线程,单线程只是自己认为的而已了,所以呢,偏向锁进入一个方法的时候是这样处理的:如果这个方法没有人进来过,那么一个线程首次进入这个方法的时候,会采用CAS机制,把这个方法标记为有人在执行了,和轻量级锁加锁有点类似,并且也会把该线程的 ID 也记录进去,相当于记录了哪个线程在执行。

然后,但这个线程退出这个方法的时候,它不会改变这个方法的状态,而是直接退出来,懒的去改,因为它认为除了自己这个线程之外,其他线程并不会来执行这个方法。

软件开发中各种锁的使用范围

悲观锁:一段执行逻辑加上悲观锁,不同线程同时执行时,只能有一个线程执行,其他的线程在入口处等待,直到锁被释放.

乐观锁:一段执行逻辑加上乐观锁,不同线程同时执行时,可以同时进入执行,在最后更新数据的时候要检查这些数据是否被其他线程修改了(版本和执行初是否相同),没有修改则进行更新,否则放弃本次操作.

1. create a Table ZRUNNING_LOCK (tcode:se11)
fields: MANDT , PROGNAME

2. create Lock object EZRUNLOCK (tcode:se11)
短文本 程序运行锁

3. 如果需对程序加锁,则在程序中执行
perform do_lock

4. 如果需对程序解锁,则在程序中执行
perform release_lock


下一篇:沈阳软件定制新方式-模块化建设
 
推荐文章

iis中网页的转发和重定向的区别 [2019-04-26]
全力推出新一代云主机了 [2019-04-26]
采用HTML5网页录音技术上传数据 [2019-04-26]
软件定制开发中设计文档的重要性 [2019-04-26]
沈阳软件定制新方式-模块化建设 [2019-04-25]
沈阳软件公司的分布特点 [2019-04-25]
 
沈阳软件开发
沈阳软件定制开发
沈阳软件公司
沈阳软件开发公司
首页
关于我们
新闻中心
产品介绍
解决方案
成功案例
服务支持
联系我们
关于领航
 
公司地址:沈阳市沈河区北站路77-1号光达大厦C座13层
邮政编码:110013
客服电话:13840539193 024-31281857
Email:2579047692@qq.com
客服Q Q:2579047692
官方微信
 
Copyright @ 2005-2019 sywebsoft.com All Right Reserved
展开