Để triển khai đồng thời của riêng bạn bằng cách sử dụng trình tạo, trước tiên bạn cần có hiểu biết cơ bản về các hàm của trình tạo và câu lệnh yield
. Cụ thể, hành vi cơ bản của yield
là nó khiến trình tạo tạm dừng thực thi. Bằng cách tạm dừng thực thi, có thể viết một bộ lập lịch xử lý các trình tạo như một loại "nhiệm vụ" và thay thế việc thực hiện chúng bằng cách sử dụng một loại chuyển đổi tác vụ hợp tác
Để minh họa ý tưởng này, hãy xem xét hai hàm tạo sau đây bằng cách sử dụng một yield
đơn giản
# Two simple generator functions
def
countdown
[
n
]:
while
n
>
0
:
[
'T-minus'
,
n
]
yield
n
-=
1
[
'Blastoff!'
]
def
countup
[
n
]:
x
=
0
while
x