python多线程实例
2015-09-04 15:45
567 查看
1、线程创建的三种方法
a、创建一个Thread的实例,传给他一个函数import threading from time import sleep def thread_body(arg1,arg2): print "i am a child thread",arg1,arg2 sleep(10) print "end child thread" def main(): print "____main_____start:" thread_target=threading.Thread(target=thread_body,args=("hello","test")) print "child start" thread_target.start() print "i am main thread" thread_target.join() print "end_main" if __name__=='__main__': main()
b、创建一个Thread的实例、传给他一个可以调用的类对象
import threading from time import sleep def thread_body(arg1,arg2): print "i am a child thread",arg1,arg2 sleep(10) print "end child thread" class thread_class(object): def __init__(self,func,args,name=''): self.func=func self.name=name self.args=args def __call__(self): apply(self.func,self.args) def main(): print "____main_____start:" # thread_target=threading.Thread(target=thread_body,args=("hello","test")) thread_target=threading.Thread(target=thread_class(thread_body,("hello",'world'),"child_test")) print "child start" thread_target.start() print "i am main thread" thread_target.join() print "end_main" if __name__=='__main__': main()
c、从Thread派生出一个子类、创建一个子类的实例。
import threading from time import sleep def thread_body(arg1,arg2): print "i am a child thread",arg1,arg2 sleep(2) print "end child thread" class thread_child(threading.Thread): def __init__(self,func,args,name=''): threading.Thread.__init__(self) self.name=name self.args=args self.func=func def getResult(self): return self.res def run(self): print 'child run' self.res=apply(self.func,self.args) def main(): print "____main_____start:" thread_target=thread_child(thread_body,("hello","world"),"test") print "child start" thread_target.start() print "i am main thread" thread_target.join() print "end_main"
相关文章推荐
- 【Python之旅】第二篇(一):Python文件处理
- python多线程操作【概念】
- python连接MySQL 数据库
- python_逻辑控制01
- Python OS/OS.PATH/Built-in 常用函数
- 用python的profile模块找到程序性能瓶颈
- python_基础05
- Python Platform 平台信息
- Python_web框架解析
- 编程日记-Python-2015.08.30
- python_基础04
- numpy教程:逻辑函数Logic functions
- Numpy详解教程
- 在python中的使用Libsvm
- 在python中的使用Libsvm
- Python 正则表达式
- Python异常
- Python下载文件时出现乱码的解决方法之一:Content-Encoding: gzip
- Python urllib
- 在Notepad++里配置python环境