how to use multiple threads in python code example
Example 1: python running multiple threads at the same time
from threading import Thread
from time import sleep
def func1():
while True:
sleep(1)
print("Working")
def func2():
while True:
sleep(2)
print("Working2")
if __name__ == '__main__':
Thread(target = func1).start()
Thread(target = func2).start()
Example 2: how to run same function on multiple threads in pyhton
import multiprocessing
def worker(num):
""" Worker procedure
"""
print('Worker:', str(num))
if __name__ == '__main__':
jobs = []
jobs_num = 5
for i in range(jobs_num):
p1 = multiprocessing.Process(target=worker, args=(i,))
jobs.append(p1)
p2 = multiprocessing.Process(target=worker, args=(i+10,))
jobs.append(p2)
p1.start()
p2.start()
Example 3: how to execute program with multithreading python
import thread
import time
def print_time( threadName, delay):
count = 0
while count < 5:
time.sleep(delay)
count += 1
print "%s: %s" % ( threadName, time.ctime(time.time()) )
try:
thread.start_new_thread( print_time, ("Thread-1", 2, ) )
thread.start_new_thread( print_time, ("Thread-2", 4, ) )
except:
print "Error: unable to start thread"
while 1:
pass
Example 4: multithreading python
class FakeDatabase:
def __init__(self):
self.value = 0
self._lock = threading.Lock()
def locked_update(self, name):
logging.info("Thread %s: starting update", name)
logging.debug("Thread %s about to lock", name)
with self._lock:
logging.debug("Thread %s has lock", name)
local_copy = self.value
local_copy += 1
time.sleep(0.1)
self.value = local_copy
logging.debug("Thread %s about to release lock", name)
logging.debug("Thread %s after release", name)
logging.info("Thread %s: finishing update", name)