我的问题:如何让多线程使用100%CPU(至少80%),比如让4个线程使用4个核心到100%?
整个故事: 我写了一些posix多线程代码。在多核(最多16个)集群服务器上运行时,尽管使用更多内核时,墙上时间会减少,但总计算时间(代码部分所花费的时间总和〜没有〜任何同步)。我想这是因为有些内核没有专门用于运行我的线程。在我的笔记本电脑上运行代码时,我的猜测得到了证实。
我尝试使用pthread_setaffinity_np指定亲和力 并设置优先级pthread_attr_setschedpolicy(& attributes_,SCHED_FIFO); pthread_attr_setschedparam(& attributes_,& p);
这没有帮助。