PythonDay06---from DFZY

2019.8.21

进程

lock

import multiprocessing

def A(lock,i):
    print(i)
if __name__ == "__main__":
    lock = multiprocessing.Rlock()
    process_list = []
    for i in range(10):
        p = multiprocessing.Process(target=A,args=(lock,i))
        p.start()
        process_list.append(p)

    for p in process_list:
        p.join()

队列

import multiprocessing
import time


def PUT(q):
    for i in range(10):
        time.sleep(1)
        q.put(100)

def GET(q):
    while 1:
        try:
            print('GET',q.get(timeout = 5))
        except:
            print('队列中已经无法获取元素在5秒之内')
            break

if __name__ == "__main__":
    q = multiprocessing.Queue()
    p1 = multiprocessing.Process(target=PUT,args=(q,))
    p2 = multiprocessing.Process(target=GET,args=(q,))
    p1.start()
    p2.start()
    p1.join()
    p2.join()

聊天机器人

#聊天机器人
import multiprocessing

def M(conn):
    while 1:
        recv_ = conn.recv()
        print('机器人收到:%s'%recv_)
        if recv_ == "你好":
            conn.send('我不好')
        elif recv_ == "今天天气好":
            conn.send('自己看')
        elif recv_ == "该做什么":
            conn.send('你想做什么')
        elif recv_ == "我有钱吗":
            conn.send('没逼数')
        else:
            conn.send('别问我')

def P(conn):
    y = 'y'
    while y != 'n':
        input_ = input('人说:')
        conn.send(input_)
        print('say %s'%conn.recv())


if __name__ == "__main__":
    conn_M,conn_p = multiprocessing.Pipe()
    p_M = multiprocessing.Process(target=M,args=(conn_M,))
    p_M.start()
    P(conn_p)

队列
在这里插入图片描述

在这里插入图片描述

队列Queue

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值