问题标签 [setthreadaffinitymask]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
134 浏览

c++ - Windows Phone 中的进程关联

我的 WP 库项目,我正在尝试将繁重的进程绑定到硬件线程(0 或 1)。因此,使用该库的应用程序使用其他可用核心。

我们可以在 Windows Phone 8 应用程序中设置进程关联吗?我找不到关于SetProcessAffinityWP8 之类的文档。

0 投票
2 回答
1582 浏览

pthreads - 从 Solaris 上的 pthread_t 获取 LWP id 以与 processor_bind 一起使用

在 Solaris 上,processor_bind用于设置线程的亲和性。您需要知道目标线程的 LWPID 或使用常量P_MYID来引用自己。

我有一个看起来像这样的函数:

实际上,我的函数中有一堆跨平台的东西,为了清楚起见我已经省略了。

关键是我想设置任意 pthread_t 的亲和力,所以我不能使用P_MYID.

如何使用processor_bind或替代接口来实现这一点?

0 投票
2 回答
4522 浏览

kernel-module - 在 linux 内核模块中设置线程亲和性

正如大多数 C 程序员所知道的那样,libc 为线程 cpu 亲和性调整 (pthread_attr_setaffinity_np()) 提供了一个不可移植的函数。但是,我真的不知道在实现内核模块时如何做到这一点。任何提及或重定向到一些真实示例的答案都会很有帮助。

0 投票
2 回答
1209 浏览

c++ - 如何让windows线程同时使用两个函数?

问题很简单,但解决方案让我望而却步。我想调用两个函数并让它们同时运行(在单独的线程中),但我只能在之后void function1()调用和void function2()运行,而不是在期间运行。我为处理器 1 和 2 设置了线程关联(我有一个多核处理器,希望你也有一个)。

我看到一次只调用一个函数的方式仅仅是因为我得到了 only 的输出,function 1而通常我会看到function 1and的混合function 2

随意重新调整代码以使其工作,但请尽量保持原始方法与类中线程调用函数的方式保持不变。这是完整的代码。

编辑:这是下面代码的略微修改版本,显示它没有并行运行。

0 投票
1 回答
942 浏览

c++ - SetThreadAffinityMask 没有效果

我想要一个只在 cpu1 上运行的测试程序,所以我这样写代码

但是当我打开任务管理器时,我发现CPU1并没有完全使用,而且它的使用百分比一直在变化。为什么?CPU1应该是100%的使用率?对不起我的英语。

0 投票
2 回答
838 浏览

windows - Windows 亲和性

为 Core 2 设置 Windows CPU 关联掩码时,掩码应该是 0x0010 还是 0x0001?我见过一个例子,其中核心 0 的掩码设置为 0x0010 但这没有多大意义?

0 投票
1 回答
791 浏览

c++ - 如果线程函数包含“printf()”,SetThreadAffinityMask() 似乎不起作用

我编写了一个测试程序来绑定 CPU 上的线程。这是我的测试代码:

没有 printf() 的 CPU Rate Pic

使用 printf() 的 CPU 速率图片

当然,正确的结果应该像图片一个。但是如果我在线程函数中添加 printf() 函数会发生什么?有什么我不知道的技巧吗?谢谢...

0 投票
1 回答
561 浏览

c - MacOSX:调度程序亲和力似乎不起作用

我尝试遵循博客中的建议,似乎即使我将 CPU 集设置为我的 MacOS 的只有一个核心,每次都会涉及更多的一个线程。是否可以使线程仅在此类操作系统上的一个处理器中运行?提前致谢。

在此处输入图像描述

0 投票
1 回答
2705 浏览

c - 如何通过 sched_setaffinity 在多个 cpu 上设置亲和力

我想通过sched_affinity如下方式在多个 CPU 上设置亲和力。

我的环境是 32 核,其中有 4 个 CPU,单个 CPU 有 8 个核。
我希望线程 0 ~ 7 在同一个 cpu 上运行,线程 8 ~ 15 在同一个 cpu 上运行,依此类推。
我想知道在 CPU_SET 中设置变量 cpu 的内容。
这个设置为thread id,如果核数分配为naive,即cpu0有0核,1核,2核,...,cpu1有8核,9核,...。
一方面,cpu设置为round-robin规则,如果核号分配为round-robin规则,即cpu0有0核,4核,8核,...,cpu1有第1核,第5核,……

我应该设置变量 cpu、天真规则或循环规则哪个规则?

0 投票
1 回答
1037 浏览

cpu - 用于 32 个 CPU 内核的 cpu 关联掩码

我有 32 个可用的 CPU 内核,并且关联掩码是:

00ff00ff

有人可以使用这个数字帮助我了解亲和力设置为哪些 CPU 内核吗?