码迷,mamicode.com
首页 >  
搜索关键字:lock 和condition    ( 13735个结果
2.原子--AtomicStampedReference解决ABA问题
AtomicStampedReference解决ABA问题 在运用CAS做Lock-Free操作中有一个经典的ABA问题: 线程1准备用CAS将变量的值由A替换为B,在此之前,线程2将变量的值由A替换为C,又由C替换为A,然后线程1执行CAS时发现变量的值仍然为A,所以CAS成功。但实际上这时的现场已经和最初不同了,尽管CAS成功,但可能存在潜藏的问题,例如下面的例子:...
分类:其他好文   时间:2014-08-13 13:16:06    阅读次数:204
Lock-Free Data Structures
By Andrei Alexandrescu, October 01, 2004 Post a Comment Lock-free data structures guarantee the progress of at least one thread when executing mutlithreaded procedures, thereby helping you avoid d...
分类:其他好文   时间:2014-08-11 18:01:02    阅读次数:384
.NET中lock的使用方法及注意事项
lock就是把一段代码定义为临界区,所谓临界区就是同一时刻只能有一个线程来操作临界区的代码,当一个线程位于代码的临界区时,另一个线程不能进入临界区,如果试图进入临界区,则只能一直等待(即被阻止),直到已经进入临界区的线程访问完毕,并释放锁旗标。其基本使用方式如下:C-sharp代码 classTes...
分类:Web程序   时间:2014-08-11 17:40:12    阅读次数:433
yum 出现Existing lock /var/run/yum.pid: another copy is running as pid:3355
使用yum命令时,出现:Existinglock/var/run/yum.pid:anothercopyisrunningaspid:3355.Anotherappiscurrentlyholdingtheyumlock;waitingforittoexit...Theotherapplicationis:yum-updatesd-he……主要原因就是yum在自动更新只要关掉他就可以了解决方案:直接输入rm-f/var/run/y..
分类:其他好文   时间:2014-08-11 15:21:03    阅读次数:190
mongodb在ubuntu下的couldn‘t remove fs lock errno:9 Bad file descriptor的错误
按照官网上的安装方法:在ubuntu系统下有可能出现如下错误:couldn't remove fs lock errno:9 Bad file descriptor此时需要修改文件所有者$ sudo mkdir -p /data/db/$ sudo chown ’USERNAME‘ /data/db...
分类:数据库   时间:2014-08-11 14:53:52    阅读次数:248
无锁编程以及CAS
无锁编程以及CAS 无锁编程 / lock-free / 非阻塞同步 无锁编程,即不使用锁的情况下实现多线程之间的变量同步,也就是在没有线程被阻塞的情况下实现变量的同步,所以也叫非阻塞同步(Non-blocking Synchronization)。 实现非阻塞同步的方案称为“无锁编程算法”( Non-blocking algorithm)。 lock-free是目前最...
分类:其他好文   时间:2014-08-11 11:58:42    阅读次数:321
Oracle 11g下重现library cache lock等待事件
从下面的例子中可以看到,在生产数据库中对象的重新编译会导致library cache lock,所以应该尽量避免在业务高峰期编译对象。如果是package或过程中存在复杂的依赖关系就极易导致library cache lock的出现,所以在应用开发的过程中,也应该注意这方面的问题。 SQL> select * from v$version; BANNER --------------...
分类:数据库   时间:2014-08-11 11:57:52    阅读次数:251
FileStream 的FileShare一点小认识
C#读写文本文件一般都是用StreamWriter来实现(读书的时候就这样用,毕业后这几年基本也是这样干的),通常代码如下: using (StreamWriter sw = new StreamWriter(logpath,true,Encoding.UTF8)) { sw.WriteLine(msg); } 如果是web开发或则其他多线程的时候一般都是加锁(用lock),如果...
分类:其他好文   时间:2014-08-10 18:45:00    阅读次数:234
Innodb引擎 long semaphore waits
上一篇介绍了因为子表过多,导致innodb crash的情况,但crash的原因是long semaphore waits。long semaphore waits又为何物?背景:Innodb使用了mutex和rw_lock来保护内存数据结构,同步的机制要么是互斥,要么是读写阻塞的模式, Innod...
分类:数据库   时间:2014-08-09 22:59:39    阅读次数:776
C++11线程指南(七)--死锁
1. 死锁   在多个mutex存在的时候,可能就会产生死锁。   避免死锁的一个最通用的方法是,总是按照相同的顺序来lock the two mutexes, 即总是先于mutex B之前lock mutex A,这样就不会有死锁的可能。有时,这种方法很简单实用,当这些mutexes用于不同的目标。但是,当mutexes用于包含相同类的一个实例时,就不是那么容易了。   例如,如下面程序所...
分类:编程语言   时间:2014-08-09 18:47:19    阅读次数:303
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!