lock就是把一段代码定义为临界区,所谓临界区就是同一时刻只能有一个线程来操作临界区的代码,当一个线程位于代码的临界区时,另一个线程不能进入临界区,如果试图进入临界区,则只能一直等待(即被阻止),直到已经进入临界区的线程访问完毕,并释放锁旗标。其基本使用方式如下:C-sharp代码 classTes...
分类:
Web程序 时间:
2014-08-11 17:40:12
阅读次数:
433
使用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
按照官网上的安装方法:在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
无锁编程 / lock-free / 非阻塞同步
无锁编程,即不使用锁的情况下实现多线程之间的变量同步,也就是在没有线程被阻塞的情况下实现变量的同步,所以也叫非阻塞同步(Non-blocking Synchronization)。
实现非阻塞同步的方案称为“无锁编程算法”( Non-blocking algorithm)。
lock-free是目前最...
分类:
其他好文 时间:
2014-08-11 11:58:42
阅读次数:
321
从下面的例子中可以看到,在生产数据库中对象的重新编译会导致library cache lock,所以应该尽量避免在业务高峰期编译对象。如果是package或过程中存在复杂的依赖关系就极易导致library cache lock的出现,所以在应用开发的过程中,也应该注意这方面的问题。
SQL> select * from v$version;
BANNER
--------------...
分类:
数据库 时间:
2014-08-11 11:57:52
阅读次数:
251
C#读写文本文件一般都是用StreamWriter来实现(读书的时候就这样用,毕业后这几年基本也是这样干的),通常代码如下:
using (StreamWriter sw = new StreamWriter(logpath,true,Encoding.UTF8))
{
sw.WriteLine(msg);
}
如果是web开发或则其他多线程的时候一般都是加锁(用lock),如果...
分类:
其他好文 时间:
2014-08-10 18:45:00
阅读次数:
234
上一篇介绍了因为子表过多,导致innodb crash的情况,但crash的原因是long semaphore waits。long semaphore waits又为何物?背景:Innodb使用了mutex和rw_lock来保护内存数据结构,同步的机制要么是互斥,要么是读写阻塞的模式, Innod...
分类:
数据库 时间:
2014-08-09 22:59:39
阅读次数:
776
1. 死锁
在多个mutex存在的时候,可能就会产生死锁。
避免死锁的一个最通用的方法是,总是按照相同的顺序来lock the two mutexes, 即总是先于mutex B之前lock mutex A,这样就不会有死锁的可能。有时,这种方法很简单实用,当这些mutexes用于不同的目标。但是,当mutexes用于包含相同类的一个实例时,就不是那么容易了。
例如,如下面程序所...
分类:
编程语言 时间:
2014-08-09 18:47:19
阅读次数:
303
1.为什么用Lock及关键知识当我们使用线程的时候,效率最高的方式当然是异步,即个个线程同时运行,其间互不依赖和等待。当不同的线程都需要访问某个资源的时候,就需要同步机制了,也就是说当对同一个资源进行读写的时候,我们要使该资源在同一时刻只能被同一个线程操作,以确保每个操作都是有效即时的,也即保证其操...
分类:
其他好文 时间:
2014-08-09 11:25:37
阅读次数:
225
1,采集网页用的curl 系列函数。 可以模拟登陆,模拟ip,抓取网页,通过抓取的网页来提取数据。 2,flock 文件锁。 ( LOCK_SH取得共享锁定(读取的程序)。 LOCK_EX 取得独占锁定(写入的程序。 LOCK_UN 释放锁定(无论共享或独占) ) 用在模拟进程锁方面的。 3,fso...
分类:
其他好文 时间:
2014-08-08 21:00:06
阅读次数:
314