¿Qué es lo más parecido en Java (quizás una expresión idiomática) al threading.Event en Python?Python "Evento" equivalente en Java?
5
A
Respuesta
7
Object.wait()
Object.notify()
/Object.notifyAll()
.
O Condition.await()
y Condition.signal()
/Condition.signalAll()
para Java 5+.
Editar: Debido a la especificación de pitón es similar la forma en que suelen esperar una implementación de Java se vería así:
class Event {
Lock lock = new ReentrantLock();
Condition cond = lock.newCondition();
boolean flag;
public void doWait() throws InterruptedException {
lock.lock();
try {
while (!flag) {
cond.await();
}
} finally {
lock.unlock();
}
}
public void doWait(float seconds) throws InterruptedException {
lock.lock();
try {
while (!flag) {
cond.await((int)(seconds * 1000), TimeUnit.MILLISECONDS);
}
} finally {
lock.unlock();
}
}
public boolean isSet() {
lock.lock();
try {
return flag;
} finally {
lock.unlock();
}
}
public void set() {
lock.lock();
try {
flag = true;
cond.signalAll();
} finally {
lock.unlock();
}
}
public void clear() {
lock.lock();
try {
flag = false;
cond.signalAll();
} finally {
lock.unlock();
}
}
}
0
Un related thread. Hay un comentario sobre la respuesta aceptada que sugiere Semaphore o Latch. No es la misma semántica que la implementación anterior, pero es útil.
Cuestiones relacionadas
- 1. Java Mahout equivalente en Python
- 2. equivalente de Java a bisección en python
- 3. ¿El equivalente TreeSet de Java en Python?
- 4. equivalente en Java de struct.pack de Python?
- 5. xml.etree.ElementTree equivalente en Java
- 6. ¿Equivalente Java al getattr de python?
- 7. Java equivalente para str.strip de Python()
- 8. Java Equivalente a los diccionarios de Python
- 9. equivalente Java del formato de Python()
- 10. Python equivalente al BitSet de Java
- 11. Python equivalente de getClass de Java() getFields()
- 12. equivalente de Java de Python repr()?
- 13. Python "dir" equivalente en Clojure
- 14. Equivalente para LinkedHashMap en Python
- 15. ¿Hay equivalente epoll en Java?
- 16. de Java() equivalente en pitón
- 17. ¿Equivalente para las funciones lambda de Python en Java?
- 18. Java equivalente de correlación de funciones en Python
- 19. sprintf equivalente en Java
- 20. __LINE__ equivalente en Java?
- 21. DebugBreak equivalente en Java?
- 22. enumeración de Python equivalente
- 23. Equivalente para inyectar() en Python?
- 24. PHP list() equivalente en Python
- 25. Ruby's watchr equivalente en Python?
- 26. ¿hay un equivalente Java del incumplimiento de Python?
- 27. Equivalente a Maven para python
- 28. Python equivalente a JNLP Web Start de Java?
- 29. ¿Hay un equivalente de itertools de Python para Java?
- 30. equivalente de DataTable en Java
Terminé con: http://github.com/shikhar/sshj/tree/master/src/main/java/net/schmizz/concurrent/ – shikhar