как мне заставить обе функции Sasol () и MTN () работать в одно и то же время?
Это работает (с использованием игрушечных функций), хотя технически я не уверен вы можете сказать, что они работают в точно в одно и то же время:
import sys,time,threading,random
def f():
for i in range(10):
print(f'{i}:f',file=sys.stdout)
time.sleep(random.random())
def g():
for i in range(10):
print(f'{i}:g',file=sys.stdout)
time.sleep(random.random())
if __name__ == '__main__':
threads = [threading.Thread(target=func) for func in [f,g]]
for t in threads:
t.start()
Это также работает - используя одну функцию, передающую разные аргументы каждому thread - в вашем случае аргумент (ы) будет уникальной строкой (ами), указывающей c на то, что вы хотите получить.
import sys,time,threading,random
def f(s):
for i in range(10):
print(f'{i}:{s}',file=sys.stdout)
time.sleep(random.random())
if __name__ == '__main__':
threads = [threading.Thread(target=f,args=(arg,)) for arg in ['one','two']]
for t in threads:
t.start()