Administrator
2023-12-14 30c8021eabb764df46439fb966e9ace8e9a189f3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import mmap
import contextlib
import multiprocessing
import time
 
from huaxin_client import l2_data_manager
 
 
def run_process_1(pipe):
    tag = 'l2-000333'
    with contextlib.closing(mmap.mmap(-1, 1000 * 100, tagname=tag, access=mmap.ACCESS_WRITE)) as m:
        for i in range(1, 10001):
            start = time.time()
            m.seek(0)
            m.write((f"msg {i} " * 10000).encode("utf-8"))
            m.flush()
            print("耗时", time.time() - start)
            time.sleep(1)
 
 
def run_process_2(pipe):
    while True:
        with contextlib.closing(mmap.mmap(-1, 1000 * 100, tagname='l2-000333', access=mmap.ACCESS_READ)) as m:
            s = m.read(1000 * 100)
            s = s.decode('utf-8').replace('\x00', '')
            if s:
                print(len(s), s)
            time.sleep(1)
 
if __name__ == '__main__':
    l2_data_manager.test()
    pass
 
 
if __name__ == '__main__1':
    p1, p2 = multiprocessing.Pipe()
    serverProcess = multiprocessing.Process(target=run_process_1, args=(p1,))
    jueJinProcess = multiprocessing.Process(target=run_process_2, args=(p2,))
    serverProcess.start()
    jueJinProcess.start()
 
    while True:
        time.sleep(2)