首页 > 其他分享 >(2023.6.10)线程绑定到指定核上

(2023.6.10)线程绑定到指定核上

时间:2023-06-10 21:47:06浏览次数:32  
标签:核上 10 set void setaffinity CPU 线程 pthread cpu

pthread_setaffinity_np与sched_setaffinity的区别:sched_setaffinity可在进程的线程中去修改亲和性
写在启动脚本中是使用pthread_setaffinity_np、sched_setaffinity、还是tasklet ? (https://www.cnblogs.com/x_wukong/p/5924298.html)
c语言如何调用到系统命令reboot ?

 

同时在使用时我们会有一些初始化的操作:

void CPU_ZERO(cpu_set_t *set);(初始化操作)

void CPU_SET(int cpu,cpu_set_t *set)(将某个cpu加进cpu集里)

void CPU_CLR(int cpu,cpu_set_t *set)(将某个cpu清除出cpu集里)

void CPU_ISSET(int cpu,const cpu_set_t *set)(判断某个cpu是不是在cpu集里)

#define _GNU_SOURCE
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
#include <sys/reboot.h>
cpu_set_t cpuset,cpuget;

void *thread_func(void *param)
{
CPU_ZERO(&cpuset);
CPU_SET(1, &cpuset); /* cpu 1 is in cpuset now */
/* bind process to processor 1 */
if (pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpuset) !=0)
{
printf("pthread_setaffinity_np error\n");
}
while(1)
{
if()
{
sync();
sync();
sync();
reboot(RB_AUTOBOOT);
}
}
pthread_exit(NULL);
}
int main(int argc, char *argv[])
{
pthread_t my_thread;

if (pthread_create(&my_thread, NULL, thread_func,NULL) != 0)
{
printf("pthread_create error \n");
}
pthread_join(my_thread,NULL);

return 0;
}

————————————————
版权声明:本文为CSDN博主「jsdchenye」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jsdchenye/article/details/44703615

标签:核上,10,set,void,setaffinity,CPU,线程,pthread,cpu
From: https://www.cnblogs.com/tiange-137/p/17472001.html

相关文章

  • 2023-06-10:给定一个由 n 个节点组成的网络,用 n x n 个邻接矩阵 graph 表示 在节点网络
    2023-06-10:给定一个由n个节点组成的网络,用nxn个邻接矩阵graph表示在节点网络中,只有当graph[i][j]=1时,节点i能够直接连接到另一个节点j。一些节点initial最初被恶意软件感染。只要两个节点直接连接,且其中至少一个节点受到恶意软件的感染,那么两个节点都将被恶意软件......
  • StarWind V2V Converter报错V2V convert to VMDK 'unrecoverable error' on win10
    解决方法:避免在源名称和目标名称中使用任何非ASCII符号修改文件名,不能使用特殊字符  VMwareVirtualDiskDevelopmentKitErrorVMwareVirtualDiskDevelopmentKitunrecoverableerror:(vthread-4)NOTIMPLEMENTEDd:/build/ob/bora-13861102/bora/lib/unicode/unic......
  • 2023-06-10:给定一个由 n 个节点组成的网络,用 n x n 个邻接矩阵 graph 表示 在节点网络
    2023-06-10:给定一个由n个节点组成的网络,用nxn个邻接矩阵graph表示在节点网络中,只有当graph[i][j]=1时,节点i能够直接连接到另一个节点j。一些节点initial最初被恶意软件感染。只要两个节点直接连接,且其中至少一个节点受到恶意软件的感染,那么两个节点都将被恶意......
  • SummerResearch_Log_20230610
    WorkingContent:1.目前要做的任务是将classifier_resnet18.py用的方法做一些改动,原来是训练一个被污染的数据集,然后用干净的测试集去测试正常数据的识别成功率和污染数据的攻击成功率。比如某种dog属于dog类,我现在找了个trigger(比如加了个黑方格到dog的图像上),并且把加了trigg......
  • 日记-20230610
    在昆明湖看到吃鱼的鸟,用晾衣杆钓到大鱼的女孩儿。不是这只,这只是前一天拍的,今天的没拍到......
  • 基于XC7Z100+OV5640(DSP接口)YOLO人脸识别前向推理过程(部分3)
    基于ZYNQ的摄像头显示系统本文介绍了如何使用ZYNQ开发板、OV5640摄像头和HDMI显示器搭建一个摄像头显示系统本文的内容主要分为以下几个部分:硬件介绍Vivado工程创建Vitis工程创建实验结果展示硬件介绍ZYNQ开发板使用的是ZINC7100芯片,具有双核ARMCortex-A9处理器......
  • 万能函数SUMPRODUCT超实用的10种经典用法
    Excel函数100问Excel员工管理信息+进销存+应收账款+工资管理等系统课程Excel中有不少万能函数,一个函数能顶多个函数,例如VLOOKUP、OFFSET、SUBTOTAL、AGGREGATE、SUMPRODUCT等。它们各有专长,功能都非常强大,且受人追捧,今天Excel办公小课堂来给大家介绍其中的SUMPRODUCT函数,朴实低调,不......
  • QT多线程(线程互斥)
    (文章目录)前言线程互斥是指在多线程并发执行时,为避免多个线程访问共享资源时发生冲突而采取的一种机制。本篇文章我们就这个问题来了解一下什么叫线程互斥,又如何解决线程互斥的问题。一、导致问题产生的原因和解决方法如果多个线程同时访问同一共享资源,可能会导致数据不一致......
  • QT多线程基础
    (文章目录)前言本篇文章来讲解一下QT中的多线程使用方法。其实线程这个概念对于我们来说并不陌生,main函数在多线程中一般就被称为主线程。在QT中,使用QThread类可以方便地创建新的线程并在其中执行任务。以下介绍一些常用的QT多线程的技术和方法。一、多线程概念介绍多线程是......
  • 6.10 闲话
    今天和昨天都被dp真实了,得好好补补dp了。一个式子能推我一天,我真服辣。下面说正事昨天打入门赛了,感觉出题人对"她"是........当时我读题就感觉看到了自己,但人家比我好啊......我还真应了我的名字Jokest(但其实我是因为这事才取的Jokest的名字)我真的有很多话想说,但是总说不......