用于使用类似线程模块的过程的包
项目描述
processing 是一个支持使用标准库中 threading 模块的API创建进程的 Python 语言包。它可以在 Unix 和 Windows 上运行。
特性
可以使用管道或多生产者/多消费者队列在进程间传输对象。
可以使用服务器进程或(对于简单数据)共享内存在进程间共享对象。
提供了 threading 中所有同步原语的等效功能。
使用 Pool 类可以轻松将任务提交到工作进程池。
链接
项目托管于
可以从以下地址下载该包
示例
processing.Process 类遵循 threading.Thread 的API。例如
from processing import Process, Queue def f(q): q.put('hello world') if __name__ == '__main__': q = Queue() p = Process(target=f, args=[q]) p.start() print q.get() p.join()
提供了锁、信号量和条件等同步原语,例如
>>> from processing import Condition >>> c = Condition() >>> print c <Condition(<RLock(None, 0)>), 0> >>> c.acquire() True >>> print c <Condition(<RLock(MainProcess, 1)>), 0>
还可以使用管理器创建共享对象,无论是在共享内存中还是在服务器进程中,例如
>>> from processing import Manager >>> manager = Manager() >>> l = manager.list(range(10)) >>> l.reverse() >>> print l [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] >>> print repr(l) <Proxy[list] object at 0x00E1B3B0>
可以通过各种方式将任务卸载到工作进程池中,例如
>>> from processing import Pool >>> def f(x): return x*x ... >>> p = Pool(4) >>> result = p.mapAsync(f, range(10)) >>> print result.get(timeout=1) [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
项目详情
下载文件
下载适用于您平台的文件。如果您不确定该选择哪个,请了解更多关于安装包的信息。
源代码分发
processing-0.52.zip (178.0 kB 查看哈希值)
构建分发
processing-0.52.win32-py2.5.exe (191.2 kB 查看哈希值)
processing-0.52.win32-py2.4.exe (189.7 kB 查看哈希值)
关闭
处理-0.52.zip的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 976fa4f8d30e8dc8216ae24d44c95587ae05ab39e9ac4bdc10691cab51fca11d |
|
MD5 | 62772fa3002d003b2395ed669072d51d |
|
BLAKE2b-256 | 3b2da6f17cc99d9c45c33eb3eccd6999505d9197b31f0845a845919032262a01 |
关闭
processing-0.52.win32-py2.5.exe的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 027d91c0ddd2343d2b5d44aee0dbe42a1edb6d9a490870a8f86a741517a697d6 |
|
MD5 | d1a938a89cf9fa7d2641b99c0a2a185a |
|
BLAKE2b-256 | f972746f2679800541e66e8950838c18a0eeb0d835a28447f6a116c8c66659b5 |
关闭
processing-0.52.win32-py2.4.exe的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4818d99c24472421fc026ef66dbd8f9b3b991200ba77950f350a9910b6b1c840 |
|
MD5 | e8be142011636b440011ef577378ceda |
|
BLAKE2b-256 | a7ebd505d4680fd925e363128ba7b8ea348a0b9a6f250477144ff1c38e3045b6 |