Я создал два потока, каждый из которых запускал разные функции. То, что я пытался достичь, - это то, что если первая нить заканчивается, вторая также должна заканчиваться (я попытался достичь ее с помощью глобальной переменной) Как только обе нити заканчиваются, эта же процедура должна продолжаться. Сценарий работает не так, как ожидалось.Многопоточность в python с использованием параллельных потоков
Я использую Linux - Centos и питона 2,7
#!/usr/bin/python
import threading
import time
import subprocess
import datetime
import os
import thread
command= "strace -o /root/Desktop/a.txt -c ./server"
final_dir = "/root/Desktop/"
exitflag = 0
# Define a function for the thread
def print_time(*args):
os.chdir(final_dir)
print "IN first thread"
proc = subprocess.Popen(command,shell=True,stdout=subprocess.PIPE, stderr=subprocess.PIPE)
proc.wait(70)
exitflag=1
def print_time1(*args):
print "In second thread"
global exitflag
while exitflag:
thread.exit()
#proc = subprocess.Popen(command1,shell=True,stdout=subprocess.PIPE, sterr=subprocess.PIPE)
# Create two threads as follows
while (1):
t1=threading.Thread(target=print_time)
t1.start()
t2=threading.Thread(target=print_time1)
t2=start()
time.sleep(80)
z = t1.isAlive()
z1 = t2.isAlive()
if z:
z.exit()
if z1:
z1.exit()
threading.Thread(target=print_time1).start()
threading.Thread(target=print_time1).start()
print "In try"
Где я буду неправильно?
это непосредственно дает мне Worker1 Конец: 25 – user2087340