• 0
عاشق البايثون

ممكن شرح مفصل عن Threading

سؤال

السلام عليكم اخواني

 

بحثت ولم اجد اي مصدر عربي عن مكتبات الـ Threading

فهل من الممكن ان تعطوني بعض الامثله ،،

وماهي فايدتها .. لقد عرفت انها تسرع عمل البرنامج كـ فتح ملفات الويب كمثال بسيط

ولكن اذا اردت استعمال اكثر من فنكشن ل حلقه تكرار ؟

 

مثال بسيط

#!/usr/bin/env pythonimport urllib2from threading import Threadthread_list = []#hosts = ["http://lwn.net/", "http://seifried.org/", "http://google.com/"]hosts = open('site1.txt','r')password = open('pass.txt','r')def getURL(ls):    try:        urllib2.urlopen(ls)        print "got URL: " + ls    except urllib2.HTTPError, e:        print efor item in hosts:    t = Thread(target=getURL, args=(item,))    t.start()

    وشكرا لكم :)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

2 إجابة على هذا السؤال .

  • 0

الفائدة هو عمل أكثر من عملية على "التوازي" بدلا من "التوالي" أن يتم تنفيذ العملية A "ثم" العملية B ، فيتم تنفيذ العملية A بجانب العملية B وإذا أي منهم يعتمد على الآخر فيتم إستخدام "التزامن" عبر ال Locks بأن يتم إيقاف تنفيذ عملية ما حتى تنتهي العملية الأخرى من تعديلاتها 

 

فالمفترض في الكود السابق ان يتم فتح كل عنوان في آن واحد، وقد تجد الترتيب مختلف عما كان موجودا.

 

بايثون تنصح بإستخدام مكتبة multiprocessing

https://wiki.python.org/moin/GlobalInterpreterLock

 

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

عافاك الله بس أنا عندي أكثر من حلقه تكرار يالغالي فمثلا راح اسوي حلقه تكرار لـ pass.txt + url.txt

يعني مواقع وباسسوردات

فلا أعلم هل من الممكن شرح مبسط يالغالي ،

لـ استخدامها

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .