小编Tip*_*kek的帖子

无法使用多处理更新类变量

我正在制作一个 GUI 应用程序来跟踪每个前台窗口所花费的时间。我尝试对每个被监视的进程进行循环来执行此操作:

class processes(object):
    def __init__(self, name, pid):
        self.name = name
        self.pid = pid
        self.time_spent = 0
        self.time_active = 0
        p1 = multiprocessing.Process(target=self.loop, args=())
        p1.start()

    def loop(self):
        t = 0
        start_time = time.time()

        while True:

            #While the process is running, check if foreground window (window currently being used) is the same as the process

            h_wnd = user32.GetForegroundWindow()
            pid = wintypes.DWORD()
            user32.GetWindowThreadProcessId(h_wnd, ctypes.byref(pid))
            p = psutil.Process(pid.value)

            name = str(p.name())
            name2 = str(self.name)

            if name2 == name:
                t = time.time() - …
Run Code Online (Sandbox Code Playgroud)

python user-interface multiprocessing

4
推荐指数
1
解决办法
773
查看次数

标签 统计

multiprocessing ×1

python ×1

user-interface ×1