zoukankan      html  css  js  c++  java
  • 多CPU核编程

    #include <stdio.h>
    #include <unistd.h>
    #include <sys/types.h>
    #define __USE_GNU
    #include <pthread.h>
    #include <sys/syscall.h>
    #include <sched.h>
    #include <errno.h>

    void * singal_cpu(void *para)
    {
    int index, ret;
    cpu_set_t cpuset;

    index = (int)para;
    CPU_ZERO(&cpuset);
    CPU_SET(index, &cpuset);

    ret = sched_setaffinity(syscall(SYS_gettid), sizeof(cpu_set_t), &cpuset);
    if (ret == -1)
    {
    fprintf(stderr, "set cpu[%d] affinity error:%s ", strerror(errno) );
    return NULL;
    }

    while (1){}

    //fprintf(stderr, "thread: %d pid: %lu ", index, syscall(SYS_gettid) );
    return NULL;
    }

    #define THREAD_CNT 1

    int main(int argc, char **argv)
    {
    int i;
    pthread_t pids[THREAD_CNT];

    for (i = 0; i < THREAD_CNT; i++)
    {
    pthread_create(&pids[0], NULL, singal_cpu, (void *)i);
    }

    sleep(atoi(argv[1]));
    return 0;
    }



  • 相关阅读:
    06
    05
    继承
    0713作业
    0712作业
    0711作业
    福彩双色球作业
    0709作业
    选择语句+循环语句作业
    0706作业
  • 原文地址:https://www.cnblogs.com/tiantao/p/2398590.html
Copyright © 2011-2022 走看看