Discuss / Python / win10下运行

win10下运行

Topic source

-----------------------服务端-----------------------

import randomfrom multiprocessing.managers import BaseManagerfrom queue import Queuereq = Queue()res = Queue()class QueueManager(BaseManager):    passdef reqd():    return reqdef resd():    return resif __name__ == '__main__':    QueueManager.register('get_req', reqd)    QueueManager.register('get_res', resd)    manager = QueueManager(address=('127.0.0.1', 5000), authkey=b'123')    manager.start()    req = manager.get_req()    res = manager.get_res()    for x in range(10):        n = random.randint(0, 10000)        print('request message {0}'.format(n))        req.put(n)    print('request message')    for x in range(10):        n = res.get(timeout=10)        print('response message {0}'.format(n))    manager.shutdown()    print('end')

-----------------------客户端-----------------------

import timefrom multiprocessing.managers import BaseManagerclass QueueManager(BaseManager):    passif __name__ == '__main__':    QueueManager.register('get_req')    QueueManager.register('get_res')    manager = QueueManager(address=('127.0.0.1', 5000), authkey=b'123')    manager.connect()    req = manager.get_req()    res = manager.get_res()    for i in range(10):        try:            n = req.get(timeout=1)            print('run task {0} * {0}'.format(n))            r = '{0} * {0} = {1}'.format(n, (n * n))            time.sleep(1)            res.put(r)        except:            print('message is null')    print('end')
import random
from multiprocessing.managers import BaseManager
from queue import Queue

req = Queue()
res = Queue()


class QueueManager(BaseManager):
    passdef reqd():
    return req


def resd():
    return res


if __name__ == '__main__':
    QueueManager.register('get_req', reqd)
    QueueManager.register('get_res', resd)
    manager = QueueManager(address=('127.0.0.1', 5000), authkey=b'123')

    manager.start()
    req = manager.get_req()
    res = manager.get_res()

    for x in range(10):
        n = random.randint(0, 10000)
        print('request message {0}'.format(n))
        req.put(n)
    print('request message')
    for x in range(10):
        n = res.get(timeout=10)
        print('response message {0}'.format(n))
    manager.shutdown()
    print('end')
import timefrom multiprocessing.managers import BaseManagerclass QueueManager(BaseManager):    passif __name__ == '__main__':    QueueManager.register('get_req')    QueueManager.register('get_res')    manager = QueueManager(address=('127.0.0.1', 5000), authkey=b'123')    manager.connect()    req = manager.get_req()    res = manager.get_res()    for i in range(10):        try:            n = req.get(timeout=1)            print('run task {0} * {0}'.format(n))            r = '{0} * {0} = {1}'.format(n, (n * n))            time.sleep(1)            res.put(r)        except:            print('message is null')    print('end')
import time
from multiprocessing.managers import BaseManager


class QueueManager(BaseManager):
    passif __name__ == '__main__':
    QueueManager.register('get_req')
    QueueManager.register('get_res')
    manager = QueueManager(address=('127.0.0.1', 5000), authkey=b'123')

    manager.connect()

    req = manager.get_req()
    res = manager.get_res()

    for i in range(10):
        try:
            n = req.get(timeout=1)
            print('run task {0} * {0}'.format(n))
            r = '{0} * {0} = {1}'.format(n, (n * n))
            time.sleep(1)
            res.put(r)
        except:
            print('message is null')
    print('end')

  • 1

Reply