在特定核心上使用 python 启动程序

Posted

技术标签:

【中文标题】在特定核心上使用 python 启动程序【英文标题】:Launch program with python on a specific core 【发布时间】:2016-01-30 15:44:08 【问题描述】:

有没有办法通过它的API使用python启动程序并在指定的核心上运行它?

我需要启动大约 5 次 cpu 昂贵的应用程序并在不同的内核上运行它以节省时间。

我正在使用窗户

【问题讨论】:

您可能应该使用实际的multiprocessing 模块。 【参考方案1】:

进程可以设置自己的亲和性,我就是这样做的(你可以改变掩码,或者把它作为参数,来确定你想使用哪些内核。)

import win32api, win32con, win32process

def setaffinity():
    pid  = win32api.GetCurrentProcessId()
    mask = 128 # core 7
    handle = win32api.OpenProcess(win32con.PROCESS_ALL_ACCESS, True, pid)
    win32process.SetProcessAffinityMask(handle, mask)

【讨论】:

@Gall 感谢您的编辑 - 有没有我可以阅读的格式化教程? Editing Help 包含非常有用的信息。此外,您可以选择多行并按 Ctrl+k 轻松格式化代码块。

以上是关于在特定核心上使用 python 启动程序的主要内容,如果未能解决你的问题,请参考以下文章

在 iTunes App Store 上启动公司特定的应用程序

启动时如何配置 Spring Boot 应用程序以在特定数据库上运行

核心数据在启动之间不持久

如何在 Kivy 应用程序启动时满足特定条件时自动弹出警报

ios 13.6 或 ipadios 是不是可以自动启动在 ipad 启动时执行特定操作的应用程序?

基于 Qt 的 android 应用程序在一台特定设备上启动时崩溃。 “dlopen 失败:libqtforandroid”