作业问题
# coding:utf-8
import threading
class CandyDivide(object):
def __init__(self, candy_list, kids_get):
self.candy_list = candy_list
self.kids_get = kids_get
def candy_divide(self, kid):
while len(self.candy_list) > 0:
if len(self.kids_get[kid]) < 20:
candy = self.candy_list.pop()
self.kids_get[kid].append(candy)
else:
break
if __name__ == '__main__':
candy_list = ['candy%s' % i for i in range(1, 101)]
kids_get = {1: [], 2: [], 3: [], 4: [], 5: []}
solution = CandyDivide(candy_list, kids_get)
for i in range(1, 6):
t = threading.Thread(target=solution.candy_divide, args=(i,))
t.start()
for key, value in solution.kids_get.items():
print(f'{key}号小孩得到的糖果为{value}')相关截图:

问题描述:
每个小朋友得到的糖果不是随机的,这和单线程就没有区别了啊,还是多线程吗
29
收起
正在回答 回答被采纳积分+1
Python全能工程师
- 参与学习 人
- 提交作业 16421 份
- 解答问题 4469 个
全新版本覆盖5大热门就业方向:Web全栈、爬虫、数据分析、软件测试、人工智能,零基础进击Python全能型工程师,从大厂挑人到我挑大厂,诱人薪资在前方!
了解课程



恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星