最近碰到一种情况,需要限制某个存储过程只能有一个进程在执行,上一个执行完毕后下一个再执行。也就是类似与程序开发中的线程同步问题。汇总一个下,可以通过如下方法来实现。1、设置一个变量,或者表中的某个字段为标识位,执行时设置为某个值,执行完后再设置为原来的值。这种方式的要求设置标识位的地方和判断这个标识位的地方间隔时间不能太长,否则还是达不到要求。2、使用行锁来实现。比如建一个表t_test,插入几条...
分类:
数据库 时间:
2015-01-29 17:35:01
阅读次数:
216
如果在线程之间共享数据,则可能会出现线程争用的问题1,局一个线程争用的例子:usingSystem;
usingSystem.Collections.Generic;
usingSystem.Diagnostics;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
usingSystem.Threading;
namespaceConsoleApplica..
分类:
编程语言 时间:
2015-01-29 01:57:28
阅读次数:
248
一种是用boost::atomic;一种直接加锁;代码很简单:
#include
#include
#include
#include
#include
#include
#include
#include
static int loop_num = 10000;
boost::atomic a(0);
static boost::mutex mtx_;
static v...
分类:
系统相关 时间:
2015-01-28 01:01:01
阅读次数:
352
1、synchronized定义 Java语言的关键字,可用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这个段代码。当两个并发线程访问同一个对象object中的这个加锁同...
分类:
编程语言 时间:
2015-01-27 00:42:16
阅读次数:
216
线程安全一个程序和方法在面对任何多线程情况下都没有不确定,那么就是线程安全的. 线程安全主要通过加锁和减少线程之间互动的可能性来完成。通用类型很少全面线程安全的,由于以下几个原因:线程安全的开发负担非常重,尤其一个类型有很多字段时(每一个字段潜在根很多线程交互)。线程安全会降低了性能(正确的说,看它...
分类:
编程语言 时间:
2015-01-26 15:01:32
阅读次数:
2670
对数据库稍有了解的人,数据库使用排他锁X锁来避免两个事务同时修改同一条数据,同时使用较低级别如行上加锁来提高并发度。以下了两种场景很容易理解:1>事务1执行 UPDATE TB1 SET C2=1 WHERE C1=1(此处假设C1为主键,使用行锁),事务1未提交,而后事务2执行UPDATE TB1...
分类:
其他好文 时间:
2015-01-24 23:59:34
阅读次数:
370
1、for update和for update nowait的区别: 1、oracle 中执行select 操作读取数据不会有任何限制,当另外一个进程在修改表中的数据,但是并没有commit,所以select的结果为当前时刻表中的记录。 2、加入for update后会该表符合条件的数据进行加锁.....
分类:
数据库 时间:
2015-01-24 11:28:31
阅读次数:
161
转http://www.centoscn.com/CentosSecurity/CentosSafe/2014/1126/4192.html 账户安全及权限 禁用root以外的超级用户 删除不必要的账号 用户口令设置 检查空口令账号 口令文件加锁 设置root账户自动注销时限 限制su命令 限制普通...
分类:
其他好文 时间:
2015-01-21 22:14:33
阅读次数:
157
对象一旦创建出来,就不再改变其内容,这样的对象是不变的。这样做可以无需顾虑多线程访问对象时的竞争管理,Java的String就是不变对象的一个例子。基于此,使用Scala创建多线程应用时,可以用不变状态(immutable
state)编写无锁代码,从而写出简洁的多线程代码,而无需顾虑线程间的数据竞争,以及处理加锁和释放带来的梦魇。JVM上的其他语言Groovy、JRuby、Clojure怎么...
分类:
编程语言 时间:
2015-01-21 15:12:56
阅读次数:
272
替代object加锁方式
使用System.object对象作为线程同步的工具,建立了一个基本的锁机制,确保资源只能同时被一个线程所访问。
但是这个对象不作任何其他用途,知识用于锁机制。
如果有一个类型可以专注于为线程同步的锁机制和信号量机制提供服务,那么上面的代码就可以简化。
.net中提供了更强大的system.threading.wa...
分类:
其他好文 时间:
2015-01-20 22:17:51
阅读次数:
170