问题标签 [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.

0 投票
1 回答
941 浏览

java - 为什么在这个 java 小程序教程代码的循环中线程优先级设置为最大值?

我正在尝试学习一些基本的游戏 Java 编程。

我在这里学习本教程

他们在小程序中运行方法的骨架代码:

在这段代码中,他们最初将线程优先级设置为最低。然后在循环内部,他们将其设置为最大值。

我想知道这样做的目的是什么?

0 投票
1 回答
1624 浏览

multithreading - 如何为用户线程提供比内核线程更高的优先级(work_queues)

我正在运行一个应用程序,其中某些用户线程不能被内核抢占。我将解释我的设置:操作系统:Linux 2.6.32 内核

内核级别: 1.有许多模块被嵌入到内核中。2.Work_queues 也在一些模块中被初始化(我猜为work_queues 创建了单独的线程) 3.如果我得到任何硬件中断,我会在我的isr 期间将这项工作排队在任何这些初始化的work_queue 中。

应用层:有多个线程并行运行,其中一些线程的优先级高于进程中的任何其他线程。(甚至内核)

目标:1.如果我收到任何硬件中断,将自动调用isr,其中工作将排队等待任何work_queue。但是,如果在此期间运行更高优先级的用户级线程,我不希望调度这些work_queues。即,某些用户级线程不应被内核中的任何工作队列处理抢占。现在,我观察到内核比任何其他用户线程都具有优先级。2.我在内核中有多个work_queues。如何为不同的工作队列赋予不同的优先级。我还没有看到任何api为内核中的work_queues设置优先级。

0 投票
3 回答
1078 浏览

java - 在java中等待通知

而我们给予子线程和wait()notifyall()方法使用的优先级,所以必须根据优先级运行。但不跑。如果我们synchronized(target)也使用,那么也不按优先级运行。

0 投票
3 回答
344 浏览

c++ - 有没有办法以给定的优先级执行系统命令?

我的意思是这个命令:

有没有办法让它在低于正常优先级模式下运行?

0 投票
2 回答
539 浏览

c - 最便携(在*nix中)允许线程降低自己的好方法

授予进程/线程降低其自身良好值的权利的最佳方法是什么,而不以完全特权运行它?解决方案可以在过程本身之外(ulimitsetcap例如)。

我正在寻找至少在现代 Linux 和 Mac OS X 上可移植的东西(这就是我没有用ulimitor回复自己的原因setcap)。

0 投票
1 回答
677 浏览

windows - 调度优先级,窗口

基于msdn,windows os基于base prorety调度线程,作为boost动态优先级

系统将所有具有相同优先级的线程视为平等。系统以循环方式将时间片分配给具有最高优先级的所有线程。如果这些线程都没有准备好运行,则系统以循环方式将时间片分配给具有下一个最高优先级的所有线程。如果较高优先级的线程可以运行,系统将停止执行较低优先级的线程(不允许它完成使用其时间片),并将完整的时间片分配给较高优先级的线程。

从上面的报价

系统将所有具有相同优先级的线程视为平等

这是否意味着系统基于动态优先级处理线程?并且基本优先级被用作动态优先级更改的下限?

谢谢

0 投票
6 回答
5709 浏览

java - 设置在 linux 上运行的 Java 程序的 nice 值

我希望我的 Java 程序降低它的优先级,这样它就不会压倒系统。我最初的想法是使用Thread.currentThread().setPriority(5),但这似乎只是它在 JVM 中的优先级。

然后我想也许我会把它塞住并调用一个系统命令,但Thread.getId()也只是 JVM 的 id,所以我什至不知道要传递给什么进程 id renice

Java程序有没有办法做这样的事情?

0 投票
1 回答
9005 浏览

mysql - 如何优先考虑某些查询?

在某些情况下,当几个后端进程碰巧同时运行时(队列管理是另外一回事,我可以这样解决,但这不是这里的问题),我得到General error: 1205 Lock wait timeout exceeded; try restarting transaction ROLLING BACK

优先级较低的进程是锁定表的进程,因为它比高优先级的进程早几分钟启动。

如何将查询优先于已运行的进程?

希望它足够清楚。

0 投票
3 回答
2626 浏览

c# - 为重负载任务设置低线程优先级

首先,感谢大家的回复!

我想更具体一点 - 我有一个网站,显示一些当前和历史报告。我希望能够允许用户删除全部或部分历史记录,同时仍在浏览网站。

因此,我想运行一个单独的线程来处理删除数据,但我想给这个线程一个低优先级,这样它就不会使网站变慢或无响应。

我现在正处于设计阶段,我会很感激一些策略建议。谢谢!

0 投票
1 回答
979 浏览

windows - 是否建议在 parallel_for_each 循环中使用 Windows API 'SetThreadPriority'

我想降低为 parallel_for_each 服务的线程的线程优先级,因为在负载较重的情况下,相对于我系统中的其他线程,它们消耗过多的处理器时间。

问题:

1) parallel_for_each 的服务线程是否继承调用线程的线程优先级?在这种情况下,我大概可以在 parallel_for_each 之前和之后调用 SetThreadPriority,一切都应该没问题。

2) 或者是否建议在parallel_for_each 中调用SetThreadPriority?这显然会为同一个线程多次调用 API。这样做有很大的开销吗?

2.b)假设我这样做,它会在下次调用parallel_for_each 时影响线程优先级 - 即我是否需要在之后以某种方式重置每个线程的优先级?

3)我想知道一般的线程优先级。有人想评论一下吗:假设我有 2 个线程争夺一个处理器,一个设置为“低于正常”,而另一个设置为“正常”优先级。与另一个线程相比,一个线程的处理器时间大约多出百分之几?