SORU
6 AĞUSTOS 2009, PERŞEMBE


Yöntem Python çağrı uyumsuz?

Eğer Python zaman uyumsuz yöntem çağrıları için herhangi bir kütüphane var mı diye soracaktım ben. Eğer bir şey gibi yaparsan harika olur

@async
def longComputation():
    <code>


token = longComputation()
token.registerCallback(callback_function)
# alternative, polling
while not token.finished():
    doSomethingElse()
    if token.finished():
        result = token.result()

Ya da olmayan uyumsuz uyumsuz olarak rutin . bir ara

def longComputation()
    <code>

token = asynccall(longComputation())

Daha rafine bir strateji dil çekirdek olarak yerli olması çok iyi olurdu. Bu kabul?

CEVAP
6 AĞUSTOS 2009, PERŞEMBE


Kullanabilirsiniz multiprocessing module Python 2.6 ekledi. Süreçlerin havuzları kullanabilirsiniz ve daha sonra sonuçları ile uyumsuz

apply_async(func[, args[, kwds[, callback]]])

E. g.:

from multiprocessing import Pool

def f(x):
    return x*x

if __name__ == '__main__':
    pool = Pool(processes=1)              # Start a worker processes.
    result = pool.apply_async(f, [10], callback) # Evaluate "f(10)" asynchronously calling callback when finished.

Bu sadece bir alternatif. Bu modül istediğinizi elde etmek için olanakları bir sürü sağlar. Ayrıca çok kolay bir dekoratör olun.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Microsoft Research

    Microsoft Re

    24 EKİM 2008
  • The Amazing Atheist

    The Amazing

    20 Kasım 2006
  • USI Events

    USI Events

    6 AĞUSTOS 2013