不明白python uwsgi是怎么多进程的

问题描述 投票:0回答:0

不明白用uwsgi多进程运行时,每个线程生成的对象的

id()
值是一样的,每个进程的
threading.get_ident()
值是一样的

我使用

--proces 4
选项在 4 个进程中使用 flask app 运行 uwsgi。

16:47:09,709|object initiating... obj_id : 139755460182224, pid : 9833, threading.get_ident : 139756071208704|
16:47:09,975|object initiating... obj_id : 139755459113168, pid : 9835, threading.get_ident : 139756071208704|
16:47:09,982|object initiating... obj_id : 139755459113168, pid : 9832, threading.get_ident : 139756071208704|
16:47:10,022|object initiating... obj_id : 139755459113168, pid : 9834, threading.get_ident : 139756071208704|

但是我不明白每个进程生成的对象的

id()
值是一样的,也不明白
threading.get_ident()
值是一样的

我还以为基于对象内存地址的

id
值不可能是一样的,因为进程之间不共享内存,但是我不明白id值是一样的

(当然,我知道可以一样,因为是相对内存地址,不是绝对内存地址,但我每次都理解不一样。)

还有,如果进程不同,线程当然也会不同,但是我不明白线程标识符值,

threading.get_ident()
,结果值是一样的

如何理解uwsgi的multiprocessing?

python multithreading multiprocessing uwsgi
© www.soinside.com 2019 - 2024. All rights reserved.