2014-04-27
20:16题目:假设一个类Foo有三个公有的成员方法first()、second()、third()。请用锁的方法来控制调用行为,使得他们的执行循序总是遵从first、second、third的顺序。解法:你应该想到了用lock的方法类阻塞,不过这里面有个概念问题使得直接用Re...
分类:
编程语言 时间:
2014-04-28 02:27:03
阅读次数:
506
lock and
latch在oracle中为了保护共享资源,使用了两种不同的锁机制lock和latch,这两种锁有明显不同点:1,lock和pin,采用的是队列的方式,先来先服务的策略,latch和mutex,采用的是抢占的方式,fast
fail模式2,lock可以hold的时间比较长,而lat...
分类:
数据库 时间:
2014-04-28 02:21:00
阅读次数:
889
事务和一致性oracle的redo和undo机制保证了数据库的ACID特性,以及高性能和可恢复特性。redo的数据是记录着数据块变更的顺序的正向数据流,commit时,保证redo同步持久化,保证高性能。恢复的时候,顺序的应用日志。redo的机制相对比较简单。undo记录着数据块的前映像。保证事务的...
分类:
数据库 时间:
2014-04-28 01:53:28
阅读次数:
722
转载自
http://blog.csdn.net/livelylittlefish/article/details/2735440本博客(http://blog.csdn.net/livelylittlefish)贴出作者(三二一、小鱼)相关研究、学习内容所做的笔记,欢迎广大朋友指正!C#读写者线程...
分类:
编程语言 时间:
2014-04-28 01:39:37
阅读次数:
764
2014-04-27
20:06题目:设计一个类,只有在不产生死锁的时候才分配资源。解法:不太清楚这个题是要分配何种资源,以何种形式?所以没能动手写个可运行的代码,只是闲扯了几句理论分析。代码:
1 // 16.4 Design a class which provides a lock only ...
分类:
编程语言 时间:
2014-04-28 01:21:58
阅读次数:
558
2014-04-27
20:25题目:关于java中标有synchronized的成员方法?解法:这代表同一个对象实例的synchronized方法不能被多个线程同时调用。注意有这么多个地方都加粗了,如果这些条件有一个不满足的话,就是可以调用的。另外,如果此方法是静态成员方法,
那么总可以认为是“同...
分类:
编程语言 时间:
2014-04-28 01:16:06
阅读次数:
583
为什么没有采用多线程或者IO复用,原因是在多线程或IO复用的情况下,当前目录是共享的,无法根据每一个连接来拥有自己的当前目录。多进程模式下,一个连接拥有2个进程,一个是nobody进程,一个是服务进程。为什么使用nobody进程的原因是:在PORT模式下,服务器会主动建立数据通道连接客户端,服务器可...
分类:
其他好文 时间:
2014-04-28 01:00:27
阅读次数:
551
2014-04-27
19:09题目:线程和进程有什么区别?解法:理论题,操作系统教材上应该有很详细的解释。我回忆了一下,写了如下几点。代码: 1 // 16.1 What is
the difference between process and thread? 2 Answer: 3 P...
分类:
编程语言 时间:
2014-04-27 21:53:11
阅读次数:
668
2014-04-27
19:26题目:哲学家吃饭问题,死锁问题经典模型(专门用来黑哲学家的?)。解法:死锁四条件:1. 资源互斥。2. 请求保持。3. 非抢占。4.
循环等待。所以,某砖家拿起一只筷子后如果发现没有另一只了,就必须把手里这只筷子放下,这应该是通过破坏“请求保持”原则来防止死锁产生,请...
分类:
编程语言 时间:
2014-04-27 21:30:09
阅读次数:
699
2014-04-27
19:14题目:如何测量上下文切换的时间?解法:首先,上下文切换是什么,一搜就知道。对于这么一个极短的时间,要测量的话,可以通过放大N倍的方法。比如:有A和B两件事,并且经常一起发生,每件只需要花几纳秒。如果你把A事件连续做几百万次,而B时间只做了几次,这样就能排除B事件对于测...
分类:
编程语言 时间:
2014-04-27 21:24:59
阅读次数:
672