Python threading模块,pythonthreading,python是支持多线程
Python threading模块,pythonthreading,python是支持多线程
python是支持多线程的,并且是native的线程。主要是通过thread和threading这两个模块来实现的。thread是比较底层的模块,threading是对thread做了一些包装的,可以更加方便的被使用。这里需要提一下的是python对线程的支持还不够完善,不能利用多CPU,但是下个版本的python中已经考虑改进这点,让我们拭目以待吧。
threading模块里面主要是对一些线程的操作对象化了,创建了叫Thread的class。一般来说,使用线程有两种模式,一种是创建线程要执行的函数,把这个函数传递进Thread对象里,让它来执行;另一种是直接从Thread继承,创建一个新的class,把线程执行的代码放到这个新的class里。我们来看看这两种做法吧。
#-*- encoding: gb2312 -*-import string, threading, timedef thread_main(a): global count, mutex # 获得线程名 threadname = threading.currentThread().getName() for x in xrange(0, int(a)): # 取得锁 mutex.acquire() count = count + 1 # 释放锁 mutex.release() print threadname, x, count time.sleep(1)def main(num): global count, mutex threads = [] count = 1 # 创建一个锁 mutex = threading.Lock() # 先创建线程对象 for x in xrange(0, num): threads.append(threading.Thread(target=thread_main, args=(10,))) # 启动所有线程 for t in threads: t.start() # 主线程中等待所有子线程退出 for t in threads: t.join() if __name__ == '__main__': num = 4 # 创建4个线程 main(4)#该片段来自于http://byrx.net
相关内容
- Python quopri模块,pythonquopri模块,quopri模块和bas
- Python MySQLdb模块,pythonmysqldb模块,mysql是一个优秀的开
- Randomized Select,randomizedselect,import rando
- 抽取新闻,,经常看财经新闻,写了个简
- 采用右递归的超简单八皇后解决,采用递归皇后,凡是线
- Python HTMLParser模块,pythonhtmlparser,HTMLParser是p
- Python 生肖和星座计算函数,python生肖,def chinese_
- Django 利用url来控制登录,django利用url登录,1. from djan
- Python PIL批量处理处理图片,,图片太大了,上百张图用
- Python 简单的备份文件脚本,python备份脚本,#! /usr/bin/
评论关闭