45 lines
799 B
Python
45 lines
799 B
Python
|
|
import multiprocessing
|
|
import time
|
|
|
|
from multiprocessing import Pool
|
|
|
|
file = "/tmp/tmp123123"
|
|
|
|
from concurrent.futures import ThreadPoolExecutor
|
|
from time import sleep
|
|
|
|
def writer():
|
|
with open(file, "w+b") as f:
|
|
for i in range(0, 10):
|
|
f.write(("%s"%(i)).encode("utf8"))
|
|
time.sleep(0.5)
|
|
print("writing ", time.time())
|
|
|
|
def reader():
|
|
with open(file, "rb") as f:
|
|
for i in range(0,10):
|
|
|
|
lines = f.readlines()
|
|
time.sleep(0.5)
|
|
print("read ", time.time())
|
|
|
|
pool = Pool(5)
|
|
|
|
with pool as p:
|
|
p.apply_async(writer)
|
|
p.apply_async(reader)
|
|
|
|
pool.join()
|
|
|
|
|
|
executor = ThreadPoolExecutor(2)
|
|
future1 = executor.submit(writer)
|
|
future2 = executor.submit(reader)
|
|
|
|
print(future1.result())
|
|
print(future2.result())
|
|
|
|
|
|
|