python 并发编程之线程

发布时间 2023-07-06 16:11:02作者: 凡人半睁眼

一、队列的使用

1、在python中,内置的有一个类,Queue就是队列

2、队列的使用

from multiprocessing import Queue

if __name__ == '__main__':
    q = Queue(3)  # 队列的大小默认很大
    # 1. 如何入队、
    """obj, block=True, timeout=None"""
    q.put('hellowrold1')
    q.put('helloworld2')
    q.put('helloworld3')
    # q.put('helloworld4', block=False)  # 如果你知道了block参数,当队列满的时候,放不进去的时候,直接报错
    # q.put('helloworld4', timeout=3)  # 如果你知道了timeout参数,当往队列中放入数据的时候,等待3秒,如果放不进去,直接报错
    # q.put_nowait('helloworld4')  # 往队列中放入数据的时候,放不进去直接报错, 指定了参数:block=False

    # 2. 出队
    print(q.get())
    print(q.get())
    # print(q.get())
    """ block=True, timeout=None"""
    # print(q.get(block=False))
    # print(q.get(timeout=3))

    # print(q.get_nowait())  # 不等待取,取不到就报错
    print(q.qsize())  # 队列中剩余的数据量, 这个方法的结果有点不准确.
    # print(q.empty()) # 判断队列是否为空
    # print(q.full())  # 判断队列是否满了 

二、 生产者消费者模型

1、在并发编程中使用生产者和消费者模式能够解决绝大多数并发问题,该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度。

2、多

3、

4、

 

三、

 

 

四、