Старенький ... но на самом деле не чувствовал, что ответы были хорошими.
Пришлось бы полностью не согласиться с тем, что это не распространено или полезно только в аппаратном обеспечении. Возможно, вы захотите, чтобы несколько потоков переключались на одну переменную с равной вероятностью ... Я использовал AtomicLong для создания поддельного логического значения. Это было взято из JMS MessageListener, который мне нужен, чтобы отвечать на определенное сообщение половину времени, а другой тип - на другую половину.
public class Mock {
private static AtomicLong count = new AtomicLong(0);
public boolean respond() {
long currentCount = count.getAndIncrement();
if (currentCount % 2 == 0) {
return true;
} else {
return false;
}
}
}