Я понимаю желание, потому что я сам думал, что было бы неплохо иметь такое поведение - от намерения использовать быстродействующий код, кажется разумным ожидать его, но, конечно, как это должно быть реализовано?
В выражениях быстрого вызова следующий вызов не запускается, если результат найден - это легко.
Но как вы бежите за заданием, выполненным вручную, и перехватываете его снова, чтобы остановитьЭто?Вам необходимо знать, кто из них уже закончил, и может вступить в состояние гонки, потому что во время тестирования, если он все еще работает, он может вернуть «истина», но потом закончить немедленно.
Функция, которая вызывается из exists
, может сама запускать новые потоки - как их вообще следует останавливать извне?Предоставляя необязательный stop execution
-метод в качестве второго параметра, возможно?