Warning: session_start(): open(/var/lib/php/sessions/sess_rrevftrf0n1j6cq9lg5t02tm93, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
import java.lang.invoke.VarHandle;
// assumes that each set function is called only once
sclass PairCollector {
volatile A a;
volatile B b;
volatile int counter;
// statically get var handles
private static final VarHandle vhA, vhB, vhCounter;
static ctex {
var l = MethodHandles.lookup();
vhA = l.findVarHandle(PairCollector.class, "a", O);
vhB = l.findVarHandle(PairCollector.class, "b", O);
vhCounter = l.findVarHandle(PairCollector.class, "counter", int.class);
}
void setA(A a) { this.a = a; incCounter(); }
void setB(B b) { this.b = b; incCounter(); }
private void incCounter() {
if vhCounter.getAndAdd(this, 1)+1 == 2)
complete();
}
// override me!
protected void complete {}
}