Показаны сообщения с ярлыком лекция #2. Показать все сообщения
Показаны сообщения с ярлыком лекция #2. Показать все сообщения

воскресенье, 27 сентября 2009 г.

лекция #2: NonBlockingStack

Реализация неблокирующего стека на java.util.concurrent.atomic.AtomicReference:
import java.util.concurrent.atomic.AtomicReference;
import java.util.EmptyStackException;

class NonBlockingStack {
private AtomicReference head = new AtomicReference(null);
public void push(int data) {
for (; ;) {
Node next = (Node) head.get();
Node myNode = new Node(data, next);
if (head.compareAndSet(next, myNode)) {
return;
}
}
}

пятница, 25 сентября 2009 г.

лекция #2: словарь

    На лекции #2 пополнили словарь:
- conditional waiting
- Producer-Consumer pattern
- Push or Pop model
- Bounding Buffer
- atomic variables (java.util.concurrent.atomic.*)
- CAS: compareAndSwap
- non-blocking algorithms