用于使用模拟线程模块的进程的包

processing的Python项目详细描述


处理是python语言的一个包,它支持 使用标准库的api生成进程 线程化模块。它可以在unix和windows上运行。

功能:

  • 可以使用管道或 多生产者/多消费者队列。
  • 对象可以在使用服务器进程的进程之间共享,或者 (用于简单数据)共享内存。
  • 线程中的所有同步原语等价 有空。
  • 一个类可以很容易地将任务提交给一个工人池 过程。

示例

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]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java需要在没有数组的情况下获得最高值和最低值   java迭代JSON响应的结果Android+Reformation+Moshi   java透明JPanel   java Hibernate。getClass(对象代理)返回类,如何取而代之的是类<T>?   java Maven可以将模块部署到JBoss吗?   java如何在方向改变时处理服务   java将大量字符串加载到我的ArrayList中,我不想阻塞我的类   只使用Java流来映射是好的吗?   运行时的java编译时类型   java微小的图像,并没有旋转,但仍然会脱离内存错误:位图大小超过VM预算   java正在使用Intent启动新活动。安卓的NPE。所容纳之物ContextWrapper。getPackageName   用Java实现Comparator类   java Jtable requestFocusInWindow在第二次调用时失败   java如何导出包含excel文件和javafx的Maven项目?   使用POI的HSSFDataFormat定制java日期格式   java这两段代码之间的区别是什么?   运行简单swing程序时出现java错误