作业问题
# 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全能工程师
- 参与学习 人
- 提交作业 16233 份
- 解答问题 4470 个
全新版本覆盖5大热门就业方向:Web全栈、爬虫、数据分析、软件测试、人工智能,零基础进击Python全能型工程师,从大厂挑人到我挑大厂,诱人薪资在前方!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星