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.

Wir benutzen Cookies um die Nutzerfreundlichkeit der Webseite zu verbessen. Durch Deinen Besuch stimmst Du dem zu.