Вопрос пользователя:
Ответ нейросети:
Пример кода на Python:
import random
import threading
class BankAccount:
def __init__(self):
self.balance = 0
self.lock = threading.Lock()
def deposit(self):
for _ in range(100):
amount = random.randint(50, 500)
self.lock.acquire()
self.balance += amount
if self.balance >= 500 and self.lock.locked():
self.lock.release()
self.lock.release()
def get_balance(self):
return self.balance
# Пример использования
account = BankAccount()
threads = []
for _ in range(5):
t = threading.Thread(target=account.deposit)
threads.append(t)
t.start()
for t in threads:
t.join()
print("Final balance:", account.get_balance())
Этот код создает класс BankAccount с методом deposit, который совершает 100 транзакций пополнения средств. Если баланс становится больше или равен 500 и замок lock заблокирован, то он разблокируется. В примере использования создается экземпляр класса BankAccount, запускаются 5 потоков для выполнения метода deposit, после чего выводится итоговый баланс.
Напишите нам, если в вопросе есть ваши персональные данные ([email protected])
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.