1 #!/usr/bin/env python
2 import threadpool
3 import time
4 import random
5
6 def hello(self):
7 time.sleep(2);
8 return "hello";
9
10 def print_result(request, result):
11 print "the result is %s %r"%(request.requestID, result)
12
13 data = [ random.randint(1, 10) for i in range(20) ]
14
15 pool = threadpool.ThreadPool(5)
16 requests = threadpool.makeRequests(hello, data, print_result)
17 [pool.putRequest(req) for req in requests]
18 pool.wait()
19
输出结果:
the result is 140118496492576 'hello'
the result is 140118496492720 'hello'
the result is 140118496492864 'hello'
the result is 140118496493152 'hello'
the result is 140118496493008 'hello'
the result is 140118496493440 'hello'
the result is 140118496497744 'hello'
the result is 140118496493296 'hello'
the result is 140118496497888 'hello'
the result is 140118496498032 'hello'
the result is 140118496498176 'hello'
the result is 140118496498320 'hello'
the result is 140118496498464 'hello'
the result is 140118496498608 'hello'
the result is 140118496498752 'hello'
the result is 140118496498896 'hello'
the result is 140118496499040 'hello'
the result is 140118496499184 'hello'
the result is 140118496499472 'hello'
the result is 140118496499328 'hello'
相关推荐
Python线程池模块`threadpool`提供了一种有效的方式来管理和控制并发执行的任务,尤其在处理大量并发请求时,能够显著提高程序的执行效率。本文将深入讲解`threadpool`的使用方法和核心概念。 首先,安装`...
虽然Python的标准`threading`模块并不直接支持线程优先级,但你可以使用第三方库如`threadpool`来实现类似功能。 最后,`thread_communit.py`可能涉及线程间的通信。Python的`threading`模块提供了`Condition`、`...
如果你用的是python2,那可以下载一个模块,叫threadpool,这是线程池。对于进程池可以使用python自带的multiprocessing.Pool。 当然也可以自己写一个threadpool。 # coding:utf-8 import Queue import threading ...
`multiprocessing.dummy`模块实际上是`threading`模块的一个复制品,它提供了与`multiprocessing`相似的接口,但使用的是线程而不是进程。在示例代码中,`ThreadPool`被用来创建一个线程池,`map`函数用于将任务分发...
另外,Python的`concurrent.futures`模块提供了更高层次的接口,可以方便地使用线程池,简化多线程编程。 总之,Python的多线程可以通过传递函数到Thread对象或继承Thread类来实现。选择哪种方式取决于具体需求,如...
本文将详细介绍如何使用Python结合OpenCV和PyQt5来实现这一功能。 #### 二、环境搭建与依赖 为了顺利运行本示例,你需要安装以下依赖库: - **Python**: 最新版推荐3.7以上版本。 - **OpenCV**: 用于图像处理和视频...
在Python中,`concurrent.futures`模块提供了线程池的实现,如`ThreadPoolExecutor`,使用方式类似于Java,通过`submit()`方法提交任务,并可选择性地获取`Future`对象以获取执行结果。 线程池的例子代码通常包括...
此外,Python标准库`concurrent.futures`模块提供了更高级别的线程池实现`ThreadPoolExecutor`,它包含了上述的一些增强特性,更适合于实际开发使用。 总之,自定义线程池在Python中可以通过`queue`模块轻松实现,...
"多线程编程练习.doc"可能包含了如何在实际项目中创建和管理线程的示例,例如使用Java的`Thread`类或`ExecutorService`,Python的`threading`模块,或者C#的`Thread`和`ThreadPool`。 线程间通信也是多线程编程中的...