Итак, я работаю над сайд-проектом, и у меня возникла проблема. Я пытаюсь создать очередь с потоками. Он продолжает использовать последний элемент в очереди, а не другие элементы. Если в очереди 5 элементов, она будет выполнять функцию 5 раз с последним элементом в очереди
with open('ipport.txt', 'r') as p:
ports = [x.strip().split(":", 1) for x in p]
for ip, port in ports:
q.put((ip, port))
def portchecker():
print(f"{ip}:{port}")
def worker():
while True:
item = q.get()
if item is None:
break
PortChecker(item)
q.task_done()
threads = []
for i in range(ThreadInput):
t = threading.Thread(target=worker)
t.start()
threads.append(t)
q.join()
for i in range(2):
q.put(None)
for t in threads:
t.join()
Я потратил бесчисленные часы в поисках своей проблемы, но я просто не знаючто я делаю не такОн должен получить элемент из списка IP: PORT, и выполнить функцию, распечатать вывод.