问题标签 [thread-priority]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - 在 linux 中使用命令行检查单个线程的优先级
我可以通过转到 /proc/$(pidof task)/ 来查看应用程序中使用的线程数并给出
猫状态。
有没有办法使用命令检查 linux 中的单个线程优先级?
问候,
学习者
c# - 为什么 C#.Net 只允许选择 5 个线程优先级?
我想知道如果 Windows 操作系统使用 32 个优先级,为什么 .NET 只提供 5 个线程优先级(即最高、高于正常等)可供选择?
multithreading - 测量任务在 linux 中 2 点之间花费的时间(任务分析)
我很快就会开始用头撞墙:
这真的很简单,我想测量一个任务在 2 个点之间花费的时间(在 Linux - 1 个核心 - 1 个 CPU 中)。在此期间,任务必须完全控制 CPU,并且不会被任何其他任务或硬件中断中断。
为了实现这一点,我创建了一个内核模块来确保满足上述标准。在这个内核模块中,我尝试:
首先,禁用 IRQ:
- 我使用了 spin_lock_irqsave()/spin_lock_irqrestore() - 我认为这是确保所有本地中断都被禁用并且我的任务在关键区域期间拥有自己的 cpu 的正确方法。
然后,
- 使用了 preempt_disable() -> 由于 current = my task,那么逻辑上内核应该继续运行我的任务,直到我重新启用抢占 -> 不起作用(my_task->nvcsw 和 my_task->nivcsw 显示发生了 csw ->我的任务被抢占了)
我试图通过将 my_task->prio 和 my_task->static_prio 更改为 1 -> 最高实时优先级(my_task->policy = SCHED_FIFO)来增加我的任务的优先级...
也没有工作(my_task->nvcsw 和 my_task->nivcsw 表明发生了 csw -> my-task 被抢占)并且 my_task->prio 得到了我认为的调度程序的新 prio (120)....
有什么方法可以确定地保证任务在 Linux 中不会被中断/抢占?有没有办法强制调度程序运行任务(短时间 50-500us)直到它完成?
这是我启用/禁用操作系统部分的代码(有问题的任务使用 procfs 在关键区域之前和之后发送启用/禁用命令并由此开关处理):
java - JAVA中超过10个线程的线程优先级
我知道线程可以具有从 MIN_PRIORITY(1) 到 MAX_PRIORITY(10) 的优先级。但是,如果我有超过 10 个线程要执行,我将如何为它们分配优先级?优先级可以超过 10 吗?
cuda - 是否可以处理进程之间的 GPU 优先级
我从 CUDA 5.5 知道可以拥有高优先级内核,但我知道这仅适用于 GPU 上相同上下文的调用问题,即它不会影响另一个进程的内核启动的优先级,只要因为他们有足够的 CPU 时间来发布。
是否可以在 GPU 上拥有高优先级的应用程序,类似于如何设置操作系统以赋予特定线程优先级?
谢谢
亨利克·安德森
windows - Windows 中最高的线程优先级和无睡眠的无限循环
我一直在阅读 MSDN 上的线程优先级,并创建了一个有两个线程的测试程序。其中一个线程打印出一些文本然后休眠,而另一个线程运行一个无限循环,在该循环中它增加一些数字并且在不休眠的情况下这样做。我将后一个线程设置为比前一个线程具有更高的优先级,根据我正在阅读的内容,这应该意味着前一个线程没有获得任何 CPU 时间。
但它确实..
为什么是这样?
第一个线程是使用以下方法创建的:
另一个线程只是我放置此命令的主线程:
c - PTHREAD_PRIO_INHERIT 宏的 Eclipse 错误
我在 Eclipse(版本:Kepler Service Release 1)中为基于 ARM 的板工作。我已经设置了交叉编译器配置。该程序是多线程的。并且程序编译没有任何错误。我想将互斥体的属性设置为 PTHREAD_PRIO_INHERIT,所以我在程序中添加了它的代码。
之后,我开始收到项目错误消息,“无法解析符号'PTHREAD_PRIO_INHERIT'”。我不知道出了什么问题。!
pthreads - 确定 pthread 的当前优先级(互斥优先级继承)
我正在尝试使用 pthreads,为了验证我对互斥锁优先级继承机制的理解是否正确,我想确定当前运行的优先级(当持有互斥锁时)稍后被更高优先级的线程锁定。
显然 pthread_getschedparam 不是要走的路,它只是返回最后(显式)设置的优先级/值。
- 是否可以使用 pthreads API(尚未找到)
- 是否可以使用 LinuxThread 原语(从 NPTL(clib pthreads)到 LinuxThreads 应该有 1x1 映射
- 是否有可能彻底使用 POSIX 线程跟踪工具 (PTT)(似乎不那么开箱即用)。在这种情况下,它将成为 PTT 工具的一个受欢迎的扩展,用于在 Linux/NPTL 下调试(软)实时应用程序。
欢迎任何建议!
最好的,每林格伦
c - linux中c优先级多线程中的“分段错误”
我正在尝试开发一个在 linux 中具有 c 优先级的多线程程序。所以我的代码如下。当我运行我的程序时,我遇到了“分段错误”。我不知道发生了什么。请帮我。
language-agnostic - 是否存在不希望优先继承的情况?
我明白什么是优先继承。我也了解到,从火星探路者的系统重置问题,大多数时候,根据操作的关键性,启用/实现优先级继承是好的。
但是,是否存在不希望优先级继承并且如果启用/实施可能实际上会导致问题的情况?如果是这样,您能否提供一个示例,同时最好描述一个问题?