TransWikia.com

Не запускаются несколько потоков в Thread

Stack Overflow на русском Asked by Merka on December 7, 2020

Не работают несколько потоков, запускается всего один, много вариантов перепробовал, но что то не пойму

import random, time
from threading import Thread

class Bot:
    def __init__(self, name):
        self.name = name
        self.gold = 1
        Bot.game(self)

        
    def game(self):
        print(f"у {self.name} | {self.gold} - денег")
        self.gold += Bot.gold(self)
        time.sleep(1)
        Bot.game(self)

    def gold(self):
        return random.randint(1,self.gold)



for i in range(10):
    th = Thread(target=Bot(i))
    th.start()

One Answer

Я не разбираюсь в модуле threading но так у меня все заработало

import random, time
from threading import Thread

class Bot:
    def __init__(self, name):
        self.name = name
        self.gold = 1
        Bot.game(self)
        
    def game(self):
        print(f"у {self.name} | {self.gold} денег")
        self.gold += Bot.gold(self)
        time.sleep(1)
        Bot.game(self)
    
    def gold(self):
        return random.randint(1, self.gold)
    
for i in range(10):
    th = Thread(target = Bot, args = (i, ))
    th.start()

Correct answer by Danis on December 7, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP