#python #python-3.x #multithreading
Вопрос:
import threading
from time import time
def count(n):
for i in range(1,n 1):
print(i)
def count2(n):
for i in range(1,n 1):
print(i)
def count3(n):
for i in range(1,n 1):
print(i)
x = threading.Thread(target=count,args=(10,))
x.start()
y = threading.Thread(target=count2,args=(10,))
y.start()
y = threading.Thread(target=count3,args=(10,))
y.start()
я решил изучить многопоточность python , нашел этот код и вывел
1
2
3
1
4
1
2
2
3
3
5
4
6
5
7
8
6
9
4
5
6
7
8
9
10
7
8
9
10
10
кто-нибудь может объяснить мне, почему это вывод ? и как это работает ?
я хочу запустить многопоточную обработку с селеном.
как лучше всего понять, как работает многопоточность в python3
Комментарии:
1. Ну, этот код запускает 3 потока, которые печатают числа от 1 до 10 каждый. Потоки работают параллельно, поэтому вывод не имеет порядка.
2. Не могли бы вы, пожалуйста, уточнить, какие части вывода вы понимаете? Предположительно, у вас есть какие-то ожидания относительно того, что делает написанная вами программа, не так ли?
Ответ №1:
Он выглядит нормально и функционирует должным образом. «Поток», который вы можете понять, поскольку он подготавливает различные пути для совместного выполнения потока программирования. Система не будет в порядке, потому что работает параллельно. Если, допустим, вы хотите быть в определенной последовательности, то вам нужно какое-то обходное решение, чтобы оно выглядело более «презентабельно», как функция события «Event.Set()» в Python.