我可以通过编程方式选择我的线程应在多核 CPU 的哪个核心上运行吗?

2024-04-15

还是由操作系统控制?我听说 Google 的新 Go 语言具有内置功能,可供程序员进行精细操作,还是我理解错了?


对于 Linux 操作系统,sched_setaffinity是你的答案。从 Linux 内核 2.5.8 开始支持它。

Name

sched_setaffinity, sched_getaffinity — 设置和获取进程的 CPU 亲和性掩码

#define _GNU_SOURCE
#include <sched.h>

int sched_setaffinity(  pid_t pid,
    size_t cpusetsize,
    cpu_set_t *mask);

int sched_getaffinity(  pid_t pid,
    size_t cpusetsize,
    cpu_set_t *mask);

亲和掩模实际上是一个 每个线程的属性可以是 为每个独立调整 线程组中的线程。价值 从 gettid(2) 调用返回可以 在参数 pid 中传递。 将 pid 指定为 0 将设置 调用线程的属性,以及 传递调用返回的值 getpid(2) 将设置属性 对于线程的主线程 团体。 (如果您使用的是 POSIX 线程API,然后使用 pthread_setaffinity_np(3) 而不是 sched_setaffinity()。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以通过编程方式选择我的线程应在多核 CPU 的哪个核心上运行吗? 的相关文章

  • 在主目录中安装库

    在 Linux Ubuntu 中 我尝试运行一个工具 但它显示错误 库丢失 我无权在系统中安装任何内容 或者根本无法从我的用户帐户执行 sudo 是否可以在我的主目录 没有 sudo 中安装缺少的库 在我的例子中为 libstdc so 6
  • diff 文件仅比较每行的前 n 个字符

    我有2个文件 我们将它们称为 md5s1 txt 和 md5s2 txt 两者都包含a的输出 find type f print0 xargs 0 md5sum sort gt md5s txt 不同目录下的命令 许多文件被重命名 但内容保
  • 在 Linux 上的 Python 中使用受密码保护的 Excel 工作表

    问题很简单 我每周都会收到一堆受密码保护的 Excel 文件 我必须解析它们并使用 Python 将某些部分写入新文件 我得到了文件的密码 当在 Windows 上完成此操作时 处理起来很简单 我只需导入 win32com 并使用 clie
  • xsel -o 对于 OS X 等效项

    是否有一个等效的解决方案可以在 OS X 中抓取选定的文本 就像适用于 Linux 的 xsel o 一样 只需要当前的选择 这样我就可以在 shell 脚本中使用文本 干杯 埃里克 你也许可以安装xsel在 MacOS 上 更新 根据 A
  • Locale.getDefault() 始终返回 en

    unix 机器上的服务器始终使用 en 作为默认区域设置 以下是区域设置输出 LANG en US LC CTYPE C LC NUMERIC C LC TIME C LC COLLATE C LC MONETARY C LC MESSAG
  • 在 Linux 上更快地分叉大型进程?

    在现代 Linux 上达到与 Linux 相同效果的最快 最好的方法是什么 fork execve combo 从一个大的过程 我的问题是进程分叉大约 500MByte 大 并且一个简单的基准测试只能从进程中实现约 50 个分叉 秒 比较最
  • Bash 解析和 shell 扩展

    我对 bash 解析输入和执行扩展的方式感到困惑 对于输入来说 hello world 作为 bash 中的参数传递给显示其输入内容的脚本 我不太确定 Bash 如何解析它 Example var hello world displaywh
  • 无法加载 JavaHL 库。- linux/eclipse

    在尝试安装 Subversion 插件时 当 Eclipse 启动时出现此错误 Failed to load JavaHL Library These are the errors that were encountered no libs
  • 跟踪 Linux 程序中活跃使用的内存

    我想跟踪各种程序在特定状态下接触了多少内存 例如 假设我有一个图形程序 最小化时 它可能会使用更少的内存 因为它不会重新绘制窗口 这需要读取图像和字体并执行大量库函数 这些对象仍然可以在内存中访问 但实际上并没有被使用 类似的工具top它们
  • 如何检测并找出程序是否陷入死锁?

    这是一道面试题 如何检测并确定程序是否陷入死锁 是否有一些工具可用于在 Linux Unix 系统上执行此操作 我的想法 如果程序没有任何进展并且其状态为运行 则为死锁 但是 其他原因也可能导致此问题 开源工具有valgrind halgr
  • 仅打印“docker-container ls -la”输出中的“Names”列

    发出时docker container ls la命令 输出如下所示 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a67f0c2b1769 busybox tail f dev
  • 应用程序无缘无故地被杀死。怀疑 BSS 高。如何调试呢?

    我已经在CentOs6 6中成功运行我的应用程序 最近 硬件 主板和内存 更新了 我的应用程序现在毫无理由地被杀死 root localhost PktBlaster PktBlaster Killed 文件和 ldd 输出 root lo
  • Linux中的CONFIG_OF是什么?

    我看到它在很多地方被广泛使用 但不明白在什么场景下我需要使用它 What is 配置 OF OF 的全名是什么 打开固件 这是很久以前发明的 当时苹果公司正在生产基于 PowerPC CPU 的笔记本电脑 而 Sun Microsystem
  • Linux中的定时器类

    我需要一个计时器来以相对较低的分辨率执行回调 在 Linux 中实现此类 C 计时器类的最佳方法是什么 有我可以使用的库吗 如果您在框架 Glib Qt Wx 内编写 那么您已经拥有一个具有定时回调功能的事件循环 我认为情况并非如此 如果您
  • 域套接字“sendto”遇到“errno 111,连接被拒绝”

    我正在使用域套接字从另一个进程获取值 就像 A 从 B 获取值一样 它可以运行几个月 但最近 A 向 B 发送消息时偶尔会失败 出现 errno 111 连接被拒绝 我检查了B域套接字绑定文件 它是存在的 我也在另一台机器上做了一些测试 效
  • Android 时钟滴答数 [赫兹]

    关于 proc pid stat 中应用程序的总 CPU 使用率 https stackoverflow com questions 16726779 total cpu usage of an application from proc
  • linux perf:如何解释和查找热点

    我尝试了linux perf https perf wiki kernel org index php Main Page今天很实用 但在解释其结果时遇到了困难 我习惯了 valgrind 的 callgrind 这当然是与基于采样的 pe
  • 添加要在给定命令中运行的 .env 变量

    我有一个 env 文件 其中包含如下变量 HELLO world SOMETHING nothing 前几天我发现了这个很棒的脚本 它将这些变量放入当前会话中 所以当我运行这样的东西时 cat env grep v xargs node t
  • 无法使用 wget 在 CentOS 机器上安装 oracle jdk

    我想在CentOS上安装oracle java jdk 8 我无法安装 java jdk 因为当我尝试使用命令安装 java jdk 时 root ADARSH PROD1 wget no cookies no check certific
  • 两种情况或 if 哪个更快? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我必须制作一个 非常 轻的脚本 它将接受用户的选项并调用脚本中的函数来执行一些任务 现在我可以使用 IF 和 CASE 选项 但我想知道两

随机推荐

  • 带分钟的 DATEDIFF 不返回预期值

    假设我有以下包含数据的 SQL Server 2008 表 CREATE TABLE tbl dtIn DATETIME2 dtOut DATETIME2 INSERT tbl VALUES 9 10 2012 5 14 10 AM 9 1
  • 如何让Stata在表格中报告零

    我正在尝试使用tabulateStata 中的命令创建频率时间序列 当我尝试合并输出时 问题就出现了tabulate运行完每个日期后 tabulate当相关变量的值不存在观察值时 不会将 0 作为条目包含在内 例如 如果我想在三年内统计一个
  • 整数或布尔值的 TensorFlow 占位符变量不起作用

    我在 TensorFlow 中使用以下代码片段有条件地从一个或另一个源提取数据 if name main with tf device gpu 0 with tf Graph as default with tf variable scop
  • 二元矩阵查找距离为 k 的所有单元格

    我有一个二进制矩阵0 and 1 并给定整数 K gt 0 现在我想找到所有可能的单元格 这些单元格与具有该值的单元格的最大距离为 K1并将它们标记为某个字母 x 单元格 A 5 2 和 A 1 4 之间的距离为 1 5 4 2 6 Exa
  • Maven 2 可以在同一项目中使用两个不同版本的构建插件吗?

    我的项目需要新版本的 Maven 构建插件的功能some的目标 但新版本在其他目标之一上失败了 由于插件中的错误 作为修复错误之前的解决方法 我想使用旧版本的插件运行损坏的目标 Edit 更具体地说 我需要使用 gwt maven plug
  • Typescript 接口中的日期在检查时实际上是字符串

    不幸的是 重现这个问题的总代码会很广泛 所以我希望我的问题是显而易见的 我可以轻松提供 如果需要 我会发布更完整的解决方案 首先 我定义一个接口 export interface ITest myDate Date 然后我创建一个数组用于测
  • 宽度和高度似乎不适用于:在伪元素之前

    Here http jsfiddle net C7rSa 是一把小提琴 p foo a class infolink href bar a baz p and a infolink before content background blu
  • C# 有没有办法设置控制台应用程序的滚动位置

    你好 我已经在谷歌上搜索这个问题很长一段时间了 但找不到任何关于我将如何做这件事的结果 我目前有一个选择菜单 用户可以从中选择选项列表 该菜单从顶部开始 但每次刷新列表时窗口都会显示最后一个选项 我想要做的就是能够在窗口中显示带有所选选项的
  • 如何将 bash 脚本变量与 sed 一起使用[重复]

    这个问题在这里已经有答案了 我执行以下 bash 脚本 bin bash version 1 echo version sed s version number version template txt gt readme txt 我希望用
  • 设置今日扩展小工具的通知

    我正在创建一个简单的计时器应用程序 它将重点关注今天的扩展小部件功能 用户可以通过点击从此处启动计时器 唯一的问题是我需要从小部件设置本地通知 我尝试使用 UIApplicaton sharedApplication ScheduleLoc
  • 按组填写缺失日期

    我有一个数据集 如下所示 shop id item id time value 150 1 2015 07 10 3 150 1 2015 07 11 5 150 1 2015 07 13 2 150 2 2015 07 10 15 150
  • 使用 JUnit 中的 Blobstore

    我正在尝试测试一些使用 Blobstore API 的代码 但我并不真正了解如何将一些文件放入 Blobstore 中 以下内容不起作用 private BlobKey createBlob String path throws Excep
  • 如何使用 HttpClient 解决 .Net4.0 与 .Net4.5 中 Uri 和编码 URL 的差异

    Uri Net4 0 与 Net4 5 中的行为不同 var u new Uri http localhost 5984 mycouchtests pri test 2F1 Console WriteLine u OriginalStrin
  • Postgres 动态创建序列

    我正在编写一个应用程序 其中有多个用户 用户可以在应用程序内上传报告 目前 我有一个 报告 表 其中包含所有提交的报告 其中有一个 id 字段 该字段是表上的序列主键 我指定的要求是 用户需要能够指定其报告开始计数的前缀和数字 例如 用户应
  • 每页记录数允许用户选择 - codeigniter 分页

    我有有效的分页功能 我已将限制设置为每页 5 条记录 但我希望用户能够根据需要进行更改 问题是我不知道该怎么做 在视图中 我创建了下拉菜单 因此用户可以选择他想要每页查看多少条记录 ul class dropdown menu li a h
  • android 权限 - CHANGE_COMPONENT_ENABLED_STATE

    我需要在我的代码中使用 android permission CHANGE COMPONENT ENABLED STATE 权限 因为我需要更新我的项目的另一个 apk 的组件 但它似乎并不真正适合我 这是我的代码
  • 在带有或不带有命名空间的 中使用类型

    在 C 11 中 我可以选择是否要使用带或不带命名空间 std 中定义的类型 至少我的编译器 g 4 7 接受这两种变体 我的问题是 使用 cstdint 中的 typedef 的推荐方法是什么 有或没有命名空间 有什么优点或缺点 或者这只
  • 如何获取两个 JavaScript 对象图之间的差异列表?

    我希望能够获得两个 JavaScript 对象图之间所有差异的列表 以及发生增量的属性名称和值 就其价值而言 这些对象通常以 JSON 形式从服务器检索 并且通常不超过几层 即 它可能是本身具有数据的对象数组 然后是包含其他数据对象的数组
  • git - 当输出重定向到文件时,git show 在二进制文件上使用是否安全?

    我读到可以从 Git 中的特定修订版检索单个文件 如这个问题中的回答 如何从 Git 中的特定修订版检索单个文件 https stackoverflow com questions 610208 how to retrieve a sing
  • 我可以通过编程方式选择我的线程应在多核 CPU 的哪个核心上运行吗?

    还是由操作系统控制 我听说 Google 的新 Go 语言具有内置功能 可供程序员进行精细操作 还是我理解错了 对于 Linux 操作系统 sched setaffinity是你的答案 从 Linux 内核 2 5 8 开始支持它 Name