twisted: diferença entre `defer.execute` e` threadss.deferToThread`
Qual é a diferença entredefer.execute()
ethreads.deferToThread()
em torcido? Ambos usam os mesmos argumentos - uma função e parâmetros para chamá-lo - e retornam um adiado que será acionado com o resultado da chamada da função.
othreads
A versão afirma explicitamente que será executada em um encadeamento. No entanto, se odefer
versão não, então qual seria o sentido de chamá-lo? O código que é executado no reator nunca deve ser bloqueado; portanto, qualquer função que ele chama não deve ser bloqueada. Nesse ponto, você poderia apenas fazerdefer.succeed(f(*args, **kwargs))
ao invés dedefer.execute(f, args, kwargs)
com os mesmos resultados.