Я бы сказал, что Event
Python против Java wait
/ notify
реализуют различные абстракции и, следовательно, они полезны в разных ситуациях.
возможно, вы ищете Python Condition
класс?это выглядит намного ближе к механизмам Java Object
wait
и notify
и даже следует тому же соглашению об именах методов
в качестве мотивирующего примера, подумайте о реализации Future
в Python, он может просто wait
на Event
, зная, что это было только set
, когда завершился асинхронный код.в Java вам придется делать что-то еще, потому что в коде есть условие гонки:
synchronized (obj) {
if (!obj.has_result) {
obj.wait();
}
return obj.result;
}