MyTetra Share
Делитесь знаниями!
Пример многопоточной программы
Время создания: 31.08.2017 21:13
Раздел: Python - Потоки - threading
Запись: xintrea/mytetra_db_mcold/master/base/1492772252j48pc2wqzp/text.html на raw.githubusercontent.com

import threading

def proc(n):
print("Процесс " + n)


p1 = threading.Thread(
target=proc, name="t1", args=["1"])
p2 = threading.Thread(
target=proc, name="t2", args=["2"])
p1.start()
p2.start()


Сначала получается два объекта класса Thread, которые затем и запускаются с различными аргументами.

В данном случае в потоках работает одна и та же функция proc(), которой передается один аргумент,

заданный в именованном параметре args конструктора класса Thread. Нетрудно догадаться, что метод start() служит для запуска нового потока.

Таким образом, в приведенном примере работают три потока: основной и два дополнительных (с именами "t1" и "t2" ).


Тоже самое через ООП наследование:

import threading

class T(threading.Thread):
def __init__(self, n):
threading.Thread.
__init__(self, name="t" + n)
self.n = n
def run(self): # run = start
print("Процесс " + self.n)
print(threading.current_thread())

p1 = T(
"1")
p2 = T(
"2")
p1.start()
p2.start()

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования