- 博客(16)
- 收藏
- 关注
原创 Art of Multiprocessor Programming 答案 ch6
77. 将确定顺序规范的对象变成确定顺序规范: 做不确定顺序规范到确定顺序规范的映射或者将Node变成ConsensusNode,即给Node一个consensus wrapper,保证不确定的输出将在各个线程中的道一致的确定的输出。78. 无等待的算法会出错。seq == 0会被当作需要加到list当中的Node ==> tail->next = tail.79. 不明白“不用通用构
2015-01-04 18:38:50
1291
原创 Art of Multiprocessor Programming 答案 ch17
198. 如果线程 k + 2^r 比 线程 k 快很多,当线程 k + 2^r 读 a
2014-11-06 22:30:22
1299
原创 Art of Multiprocessor Programming 答案 ch15
173. SimpleTree 是不可线性化但是静态一致的。
2014-06-01 03:29:01
1190
原创 Art of Multiprocessor Programming 答案 ch13
158.public class StripedHashSet extends BaseHashSet{ final ReadWriteLock[] locks; //... public final void acquire(T x) { locks[x.hashCode() % locks.length].rea
2014-05-10 18:29:13
1658
原创 Art of Multiprocessor Programming 答案 ch12
134.135.package p135;public class Node { enum CStatus{IDLE, FIRST, SECOND, THIRD, RESULT, ROOT}; boolean locked = false; CStatus status; int firstValue; int secondValue
2014-05-05 15:43:50
1577
原创 Art of Multiprocessor Programming 答案 ch11
126.package p126;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class UnboundListStack{ public class Node { private T item; pub
2014-04-27 18:06:29
1595
原创 Art of Multiprocessor Programming 答案 ch10
110. private enum NodeType {ITEM, RESERVATION, SENTINEL};public class SynchronousDualQueue { AtomicReference head; AtomicReference tail; private final Node NullNode = new Node(null, NodeT
2014-04-25 13:34:59
1666
原创 Art of Multiprocessor Programming 答案 ch9
100. 将add()方法的 if(cur.key == key) return fal
2014-04-21 20:12:42
1933
原创 Art of Multiprocessor Programming 答案 ch8
93. package p93;import java.util.concurrent.locks.Lock;public class SimpleRWLock{ private class ReadLock implements Lock { public void lock() { try { synchronized(lockObj) {
2014-04-15 20:15:04
1924
原创 Art of Multiprocessor Programming 答案 ch7
85. 因为线程自己的节点还被后续节点和tail引用。被后续节点引用的
2014-04-07 23:08:32
2489
原创 Art of Multiprocessor Programming 答案 ch5
47. 如果n个线程刚好可以分成2组, 第一组的行为i与lemma5.1的行为一样,第二组的行为与Lemma5.1的行为一样,则它们有一个2值初始状态。48. 49. 因为critical state必须是bivalent,所以2个后续只能 1-valent + 0-valent或者 x + bivalent。因为if any thread moves ,the protoco
2014-03-24 02:06:15
2706
原创 Art of Multiprocessor Programming 答案 ch3
21 A,B复合之后的任一静止状态必然同时是A和B的静止状态,则由这个静止状态分开的任何方法都满足 原理3.3.2 22.1 是。静态一致可复合。 22.2 否。
2013-12-03 00:50:01
5702
原创 Art of Multiprocessor Programming 答案 ch2
9 10. 互斥是通过每个线程看到的各自的view得到关于global的关于critical area的owner的一致看法实现的。根据2.8的证明,锁的实现必须有写的动作,如果第一条指令是读,且只依据这一条指令是不能区分先后的;如果写了之后没有读,线程不能得到view,和没写一样;如果又写又读,并得到某些顺序则它实际就是个批gate。 11. ,
2013-11-28 09:03:04
4491
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人