Я новичок в потоке Python, я попробовал приведенный ниже код, чтобы понять потоки.
import threading
def sq(num):
for n in num:
print("calculating square")
print('square={}'.format(n*n))
numbers=[10,20,30,40,50,60]
t1 = threading.Thread(target=sq, args=(numbers,))
t1.start()
t1.join()
Насколько я понял, вышеприведенный код выдает один поток для вычисления квадратов чисел.
Я хотел знать, возможно ли порождать n разных потоков для вычисления квадратов из n чисел?например, если у меня есть пять чисел в массиве чисел как [10,20,30,40,50].вместо выдачи одного отдельного потока возможно выпустить 5 параллельных потоков, где каждый поток вычисляет квадрат числа.
Я пробовал приведенный ниже код для этого, но я не уверен, что он выдал n одновременных потоков (где n = len (числа)).Основная идея состоит в том, чтобы выдавать n разных потоков одновременно, где каждый поток вычисляет квадрат одного элемента в массиве чисел, первый поток должен вычислять sq первого элемента в массиве чисел, аналогично пятый поток должен вычислять sq пятого элемента в числахмассив и т. д.
Самая простая идея состоит в том, чтобы добавить n потоков и выписать потоки, но есть ли другой способ сделать его проще.
С наилучшими пожеланиями.
import threading
def sq(num):
print("calculating square")
print('square={}'.format(num*num))
numbers=[10,20,30,40,50,60]
for i in range(0,len(numbers)):
t1 = threading.Thread(target=sq, args=(numbers[i],))
t1.start()
t1.join()