Python: Snippet – Threading mit Result

Code-Snippet:

#!/usr/bin/env python

import socket
from multiprocessing.pool import ThreadPool
import pprint


jobs = ("www.heise.de","www.google.com","www.golem.de","www.google.de","www.lanbugs.de","www.microsoft.com")

def worker(domain):
    print socket.gethostbyname(domain)
    return socket.gethostbyname(domain)

pool = ThreadPool(processes=3)

result_buffer = {}

for d in jobs:
    print "start " + d
    async_result = pool.apply_async(worker, args=(d,))
    result_buffer[d]=async_result.get()


pprint.pprint(result_buffer)


Ausgabe:

>python thread_with_result.py 
start www.heise.de
193.99.144.85
start www.google.com
172.217.20.68
start www.golem.de
109.68.230.138
start www.google.de
172.217.20.99
start www.lanbugs.de
81.169.181.94
start www.microsoft.com
104.108.168.41
{'www.golem.de': '109.68.230.138',
 'www.google.com': '216.58.207.68',
 'www.google.de': '172.217.20.99',
 'www.heise.de': '193.99.144.85',
 'www.lanbugs.de': '81.169.181.94',
 'www.microsoft.com': '104.108.168.41'}

 

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.