当前位置: 首页 > 面试题库 >

在Linux(pthreads)上等效于SetThreadPriority

缪风史
2023-03-14
问题内容

给出以下代码,我想知道假设pthreads甚至使用Boost.Thread API在linux中等效的代码是什么。

#include <windows.h>

int main()
{
   SetThreadPriority(GetCurrentThread(),THREAD_PRIORITY_HIGHEST);
   return 0;
}

问题答案:

相当于SetThreadPrioritylinux中的pthread_setschedprio(pthread_t thread, int priority)

检查手册页。

编辑:这是等效的示例代码:

#include <pthread.h>

int main()
{
    pthread_t thId = pthread_self();
    pthread_attr_t thAttr;
    int policy = 0;
    int max_prio_for_policy = 0;

    pthread_attr_init(&thAttr);
    pthread_attr_getschedpolicy(&thAttr, &policy);
    max_prio_for_policy = sched_get_priority_max(policy);


    pthread_setschedprio(thId, max_prio_for_policy);
    pthread_attr_destroy(&thAttr);

    return 0;
}

此示例适用于默认调度策略SCHED_OTHER。

编辑:线程属性必须在使用之前初始化。



 类似资料:
  • 问题内容: 我正在寻找Linux上的等效工具。 目前,我正在使用Python的,它大概会调用。我担心的是,如果时钟混乱,例如NTP,返回的时间(UNIX纪元)可能会发生不规则的变化。一个简单的过程或系统挂墙时间,仅以恒定的速率正增加就足够了。 在C或Python中是否存在任何此类时间函数? 问题答案: 您可以在C中使用CLOCK_MONOTONIC,例如:

  • 问题内容: 在C ++ Linux应用程序中,获得Win32上的互锁功能提供的功能的最简单方法是什么?具体来说,是一种原子地递增或相加32或64位整数的轻型方法吗? 问题答案: 经过进一步审查,这看起来很有希望。是的堆栈溢出。

  • 问题内容: 我正在从xml配置转移到注释。我想转换一个会话范围的bean是 可以通过注释完成此操作吗?如果没有,我该怎么做才能使该声明继续工作? 问题答案: 在spring上下文xml中,执行以下操作: 请注意,尽管如此,你将需要为该包中的所有类编写接口。

  • 问题内容: 我需要进行查询并与一年中的所有日子一起加入,但是在我的数据库中没有日历表。 谷歌搜索后,我在PostgreSQL中找到了。MySQL有类似的东西吗? 我的实际表有这样的东西: 但是我的查询必须返回: 问题答案: 这就是我的方法。它创建了从 2011-01-01 到 2011-12-31 的日期范围: 唯一的要求是 any_table中 的行 数 应大于或等于所需范围的大小(在此示例中,

  • 问题内容: 该表示法是: 实际上不哈希对象;它实际上只是转换为字符串(通过它是一个对象,还是其他各种原始类型的内置转换),然后在“ ”中查找该字符串,而不对其进行哈希处理。也不会检查对象是否相等-如果两个不同的对象具有相同的字符串转换,则它们将彼此覆盖。 鉴于此-在JavaScript中是否有任何有效的hashmap实现?(例如,第二个Google结果产生的实现对任何操作都是O(n)。其他各种结果

  • 问题内容: 我正在尝试从Swift的iTu​​nesU中的“开发适用于iPhone和iPad的ios7应用程序”中复制斯坦福Matchismo游戏。 在第3讲幻灯片的第77页上,它显示了使用,这不是Swift上的选项。Swift文档示例显示了一个具有数组的示例,但是我不知道如何使Interface Builder将多个插座连接到同一个/ Array。 有人知道如何做到这一点吗? 我知道我可以创建1