Discuss / Python / 协程这调用顺序和普通函数也没啥区别呀?

协程这调用顺序和普通函数也没啥区别呀?

Topic source

#1 Created at ... [Delete] [Delete and Lock User]

看到下面的执行结果和普通函数也没啥区别呀?

[PRODUCER] Producing 1...
[CONSUMER] Consuming 1...
[PRODUCER] Consumer return: 200 OK
[PRODUCER] Producing 2...
[CONSUMER] Consuming 2...
[PRODUCER] Consumer return: 200 OK
[PRODUCER] Producing 3...
[CONSUMER] Consuming 3...
[PRODUCER] Consumer return: 200 OK
[PRODUCER] Producing 4...
[CONSUMER] Consuming 4...
[PRODUCER] Consumer return: 200 OK
[PRODUCER] Producing 5...
[CONSUMER] Consuming 5...
[PRODUCER] Consumer return: 200 OK

生产者和消费者同一时间只有一个在执行,没有并行的情况,直接用函数调用不就好了?为什么还要搞这些设计呢?

crisp

#2 Created at ... [Delete] [Delete and Lock User]

作者用循环来模拟多线程或者进程调用,真正调用consumer的时候应该是并行调用,这样通过yield来挂起实现在一个线程内多次运行consumer。


  • 1

Reply