Saya mulai mencari cara membuat utas dengan Python. Saya melakukan pencarian teori terlebih dahulu untuk memahami cara kerja Threads dengan Python. Saya juga membaca tentang penggunaan Antrean dengan Python dan bagaimana hal ini dapat membantu memecahkan masalah Threading yang sepele. Saya dapat memahami kode terpisah untuk masing-masing kode. Kemudian saya menemukan tutorial berikut:
http://www.ibm.com/developerworks/aix/library/au-threadingpython/
Ini menunjukkan relevansi Thread dan Queue dengan Python dan bagaimana hal ini dapat mempercepat proses eksekusi dalam keadaan tertentu.
Saya mengalami kesulitan dalam memahami beberapa area kode
def main():
#spawn a pool of threads, and pass them queue instance
for i in range(5):
t = ThreadUrl(queue)
t.setDaemon(True)
t.start()
#populate queue with data
for host in hosts:
queue.put(host)
#wait on the queue until everything has been processed
queue.join()
main()
print "Elapsed Time: %s" % (time.time() - start)
Pada perulangan for pertama, beberapa thread dibuat dan sebuah instance antrian diteruskan ke sana. Tapi dari pemahaman saya antriannya masih kosong sampai sekarang.
Di perulangan for berikutnya
for host in hosts
:
Nilai host dimasukkan ke dalam antrian. Sekarang bagaimana data Antrian ini ditugaskan ke thread?
Terakhir, apa gunanya queue.join()
dengan relevansinya dengan program ini?