美文网首页
multiprocessing state

multiprocessing state

作者: xncode | 来源:发表于2017-09-14 17:52 被阅读0次

数据共享

共享内存

from multiprocessing import Process, Value, Array

def f(n, a):
    n.value = 3.1415927
    for i in range(len(a)):
        a[i] = -a[i]

if __name__ == '__main__':
    num = Value('d', 0.0)
    arr = Array('i', range(10))

    p = Process(target=f, args=(num, arr))
    p.start()
    p.join()

    print num.value
    print arr[:]

server

这个服务进程是通过Manager返回的,可以包含Python对象,允许其他的进程来操作它。支持list dict Namespace Lock RLock Semaphore BoundedSemaphore Condition Event Queue Value Array

from multiprocessing import Process, Manager

def f(d, l):
    d[1] = '1'
    d['2'] = 2
    d[0.25] = None
    l.reverse()

if __name__ == '__main__':
    manager = Manager()

    d = manager.dict()
    l = manager.list(range(10))

    p = Process(target=f, args=(d, l))
    p.start()
    p.join()

    print d
    print l

相比共享内存,是可以通过网络在不同计算机之间共享的,但是会慢一些。

相关文章

网友评论

      本文标题:multiprocessing state

      本文链接:https://www.haomeiwen.com/subject/jvgdsxtx.html