threading using functions python code example
Example 1: 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 2: 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)