Как прописать список при помощи потоков?

Hello world.
from time import sleep
from threading import Thread

all_id = [('0',), ('1',), ('2',), ('3',), ('4',), ('5',), ('6',), ('7',)]

def potok(num):
    
    if True:
        
        if num == 1:# ПОТОК 1
            
            for x in all_id:
    
                print(x[0])
        
                sleep(0.5)
                
        elif num == 2:# ПОТОК 2
            
            for x in all_id:
    
                print(x[0])
        
                sleep(0.5)
        
thread1 = Thread(target=potok, args=( 1,))

thread2 = Thread(target=potok, args=( 2,))

thread2.start()

thread1.start()

Результат:
60e823ef32d27451085927.jpeg
В списке могут быть неограниченное кол-во элементов, поэтому я прописываю его в несколько потоков, дабы сэкономить время. Проблема моего кода в том, что он прописывает по несколько одинаковых элементов. Нужно чтобы каждый элемент списка, прописался один раз. Порядок необязателен.
  • Вопрос задан
  • 54 просмотра
Решения вопроса 2
@dooMoob
Я думаю, тебе сначала стоит прочитать как потоки работают впринципе, потом прочитать как они работают в питоне
Ответ написан
@Vindicar
Я поддерживаю ответ dooMoob выше, но от себя добавлю: когда разберёшься с потоками, посмотри модуль queue.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы