#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/sysinfo.h>
#include <errno.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/stat.h>
#define __USE_GNU
#include <sched.h>
#include <ctype.h>
#include <string.h>
#include <pthread.h>
#define THREAD_MAX_NUM 100
int num;
void *threadWrite(void *arg)
{
cpu_set_t mask;
cpu_set_t get;
int *a = (int *)arg;
printf("the a is :%d\n",*a);
char buf2[]={"abcdefghijklmnopqrstuvwxyz"}; //要写入的信息
int fd2 = open("test",O_RDWR); //打开要写入的文件
if(fd2 == -1)
{
printf("open failed\n");
return ;
}
printf("success fd = %d\n",fd2);
CPU_ZERO(&mask); //清零mask
CPU_SET(*a,&mask); //根据参出设置该进程运行在哪个核上(参数范围为0-3,因为有4个物理核)
if(sched_setaffinity(0,sizeof(mask),&mask)==-1) //设
linux多核多进程访问文件示例程序(每个核上运行一个程序)
最新推荐文章于 2023-03-26 14:36:11 发布