Я знаю, что этот вопрос задавался несколько раз, но я не мог найти ответ, который помог бы мне.
Мой вопрос заключается в том, можем ли мы выполнить две функции параллельно в python, где у каждой функции есть цикл for и вывод некоторых значений. Например, у меня есть две функции a () и b (), где a () печатает числа 1..n (скажем, n = 3), а b () печатает числа 11..n (скажем, n = 13) наряду с текущим временем. Я ожидаю, что результат будет как:
function a :1 2018-11-02 15:32:58
function b :11 2018-11-02 15:32:58
function a :2 2018-11-02 15:32:59
function b :12 2018-11-02 15:32:59
но в настоящее время печатается следующее:
function a :1 2018-11-02 15:32:58
function a :2 2018-11-02 15:32:59
function b :11 2018-11-02 15:33:00
function b :12 2018-11-02 15:33:01
Код:
import time
from threading import Thread
import datetime
def a():
for i in range(1,3):
print 'function a :'+str(i) + ' ' + str(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
time.sleep(1)
def b():
for i in range(11,13):
print 'function b :'+str(i) + ' ' + str(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
time.sleep(1)
if __name__=="__main__":
t1=Thread(target=a())
t2=Thread(target=b())
t1.start()
t2.start()