python多线程学习笔记1

之前用linux shell写过多线程统计youku网站会员的,现在用python再实现一遍,做为学习笔记备注。

import threading 
import urllib2
import urllib
import base64
import time
 
class GETyouku:
    def __init__(self,thread_num):
        self.thread_count=self.thread_num=thread_num
        self.lock=threading.Lock()
 
    def _getyoukucount(self,ii):
        thread_id=int(threading.currentThread().getName())
        self.str=2
        self.str+=ii
        while self.str > 1 and self.str<300:
            self.base64_str=base64.b64encode(str(self.str))
            url="http://i.youku.com/u/U"+self.base64_str
            req=urllib2.Request(url)
            print 'self.str:'+str(self.str)+urllib2.urlopen(req).read()
 
            self.str+=1
 
 
        self.lock.acquire()
        self.thread_count -= 1
        self.lock.release()
 
 
    def run(self):
        for i in range(self.thread_num):
        q=threading.Thread(target=self._getyoukucount,name=str(i),args=(i,))
        q.setDaemon(True)
        q.start()
 
        while self.thread_count>0:
            time.sleep(0.01)
 
if __name__ == '__main__':
    d=GETyouku(thread_num=20)
    d.run()

python多线程学习笔记1》上有1条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>