本文由该问题引入到内核锁的讨论,归纳例如以下为什么须要内核锁?多核处理器下,会存在多个进程处于内核态的情况,而在内核态下,进程是能够訪问全部内核数据的,因此要对共享数据进行保护,即相互排斥处理有哪些内核锁机制?(1)原子操作atomic_t数据类型,atomic_inc(atomic_t *v)将v...
分类:
其他好文 时间:
2014-10-08 13:05:15
阅读次数:
158
在实现线程的过程中,我们经常会写类似于这样的代码:{ mutex_.lock(); //XXX if(...) 语句; //XXX mutex_.unlock();}虽然这段代码是正常的加锁解锁,但是有时候我们难免会出现一些低级错误,例如把 忘了写...
分类:
系统相关 时间:
2014-10-08 04:01:04
阅读次数:
379
1.分别模拟insert,update和delete造成阻塞的示例,并对v$lock中的相应的信息进行说明,给 出SQL演示。Insert示例会话1:SQL> select * from t1;ID1234SQL> alter table t1 add primary key(id);表已更改。SQ...
分类:
数据库 时间:
2014-10-08 00:37:54
阅读次数:
445
我们不止一次写过这种代码: { mutex_.lock(); //XXX if(....) return; //XXX mutex_.unlock();
} 显然,这段代码中我们忘记了解锁。那么如何防止这种情况,我们采用和智能指针相同的策略,把加锁和解锁的过程封装在一个对象中。 实现“对象生命期”等...
分类:
系统相关 时间:
2014-10-07 21:53:24
阅读次数:
215
lock-free是一种基于原子变量类来构建的非阻塞同步算法。比较并交换(compare-and-swap)我们经常会先检查某项东西,然后对其进行修改,如if(X...) {X=...}。这种行为在多线程下并不是线程安全的。那我们该如何做呢?一种方法是对操作进行加锁,如synchornized(ob...
分类:
其他好文 时间:
2014-10-07 18:37:35
阅读次数:
151
一个项目算是告于段落,其中硬件学到了不少知识,软件调试也取得了很大进展。现在把硬件的一些经验总结一下。 1. 芯片电源接入之前,最好放一个磁珠。 2. 电源打孔时,应该多打几个孔,同时孔不要太小。 3. 重要的芯片或者接插件,布局好之后,右击lock锁定。 4. 主控芯片的电容,最好在其背面。 5....
分类:
其他好文 时间:
2014-10-07 17:35:03
阅读次数:
198
使用versions 出现SVNWorking Copyxxxlocked解决方案:首先,先定位到工程目录下,然后使用如下命令查看是否有锁find . | grep ".svn/lock"然后再用:find . | grep ".svn/lock" | xargs rm再进入versions项目正常...
分类:
其他好文 时间:
2014-10-07 13:12:43
阅读次数:
144
之前一直用的Lumia 925,Bing lock screen每天都会更换。这几天换了Lumia 930,同步了账号相关的设置,发现Bing lock screen不再每天更换。尝试重启、使用cellular data等几种方式都无效果。以下操作至少本人有效仅供参考:Device:Lumia 93...
项目需求描述:要求用户输入用户名和密码,认证成功后显示欢迎信息,如果连续输错三次则锁定用户名。逻辑流程图:实现代码:#!/usr/bin/envpython
importsys
account_file=‘account.txt‘
lock_file=‘lock.txt‘
#putaccountsinalist
fh_account=open(account_file)
account_li..
分类:
编程语言 时间:
2014-10-07 00:51:11
阅读次数:
508
HDU 3104 Combination Lock(数学题)...
分类:
其他好文 时间:
2014-10-06 23:56:51
阅读次数:
194