腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
视频
沙龙
2
回答
不同工艺间的产量
、
、
、
、
我有两个C++代码,一个叫做a,一个叫做b。我在64位Linux中运行,使用Boost线程库。 A代码创建了5个线程,它们停留在一个不结束的循环中,执行一些操作。B代码创建了5个线程,这些线程停留在一个不结束的循环中,调用non()。 我在一个四核机器上..。单独调用代码时,CPU使用率几乎为400%。当单独调用b代码时,它的CPU使用率几乎为400%。我早就料到了。 但是当两者一起运行时,我希望b代码几乎不使用CPU,使用400%的CPU。但实际上两者都在使用等于CPU的部分,几乎是200%。 我的问题是,不同进程之间不产生()工作吗?有什么办法让它像我想象的那样运作吗?
浏览 5
提问于2011-09-22
得票数 5
回答已采纳
1
回答
Linux内核中使用的三种优先级之间有什么区别?
、
我是Linux内核的新手,现在我正在研究Linux内核中的进程调度。Linux中有三种优先级: 静态优先级 动态优先级 实时优先级 现在我所理解的是: 静态优先级和动态优先级仅用于常规进程,它们只能取值于100到139之间。 静态优先级用于确定进程的基本时间片。 动态优先级用于选择下一个要执行的进程。 只为实时进程定义实时优先级,其值可从0到99不等 现在我的问题是: 如果我错了,请告诉我为什么我们在Linux中使用三种优先级,这些优先级之间有什么不同? 流程是按优先级区分为实时流程还是常规流程,也就是说,如果优先级在100到139之间,则流
浏览 3
提问于2014-03-04
得票数 4
5
回答
Java垃圾收集线程优先级
、
、
、
在一次采访中,我被问到了以下问题:“垃圾收集线程的默认优先级是多少?”我知道我们不能强制GC或更改其优先级,尽管我从未听说过它的默认优先级。有人知道吗?
浏览 1
提问于2011-04-05
得票数 9
回答已采纳
4
回答
先发制人线程与非抢占线程
、
、
、
有人能解释一下先发制人的线程模型和非抢占线程模型的区别吗? 根据我的理解: Non抢占式线程模型:一旦线程启动,就不能停止,或者在线程完成其任务之前不能将控件传输到其他线程。Preemptive线程模型:运行时允许在任何时候从一个线程进入并将控制交给另一个线程。优先级较高的线程优先于优先级较低的线程。 谁能请你: 如果理解是correct.Explain,那么解释了这两种模型的优点和缺点。是什么时候使用真正有帮助的东西的例子。如果我在Linux (system或P线程)中创建线程,而没有提到任何选项(有吗?),?默认情况下,所使用的线程模型是抢占式线程模型??。
浏览 6
提问于2010-11-10
得票数 70
回答已采纳
5
回答
线程优先级
、
如果我想设置一个最小和最大值的优先级,在Linux下用Java制作一个带有线程的应用程序? 在Windows中,范围从0(最低)到31 (最高)。
浏览 1
提问于2010-07-23
得票数 4
1
回答
线程优先级之间的差异
、
线程优先级是什么意思?拥有MAX_PRIORITY的线程会在拥有MIN_PRIORITY的线程之前完成执行吗?或者,比起MIN_PRIORITY线程,MAX_PRIORITY线程会被分配更多的执行时间?或者其他的东西?
浏览 0
提问于2014-06-14
得票数 0
2
回答
从bash和linux调度创建实时linux线程
、
、
我是linux内核开发的新手。我正在尝试学习线程创建和同步。我的最终目标是创建两个线程,这两个线程使用一个由信号量保护的共享资源。 代码是 #include<stdio.h> #include<string.h> #include<pthread.h> #include<stdlib.h> #include<unistd.h> #include<semaphore.h> sem_t sema_obj; pthread_t tid[2]; int shared_val = 0; void* doSomeThing(v
浏览 2
提问于2015-11-16
得票数 1
1
回答
与POSIX系统的调度有关的互斥和线程优先级
、
、
、
、
在POSIX系统(linux等)中,当多个线程锁定一个公共互斥对象时--是总是观察到的锁定顺序,还是在调度关键部分中的下一个线程时,线程优先级偏高的线程? 标准中有没有提到任何关于行为的内容?因为据我所见,它似乎只提到了所需的接口。 请注意,我正在寻找关于任何符合POSIX的系统(不仅仅是linux)的指导,所以请随意建议其他OSes (QNX、Minix等)的行为。
浏览 8
提问于2012-04-30
得票数 2
1
回答
在线程创建期间,是否建议在Linux中使用param.sched_priority?
、
、
、
在我的嵌入式设备中,我用我们使用的协议来吸收奇怪的行为,有时使用FIFO通过串行设备发送数据需要一段时间。 我怀疑Linux不是实时操作系统,为什么他们有像丝线_赛特赛德帕拉姆这样的实时仿真功能?并且在队列中具有这样的优先级,导致另一个进程饥饿,因为检测从设备需要大量时间。 我只想知道在Linux中使用param.sched_priority = 40;是明智的吗?我试着调整这个参数,但是这个问题很难重现,这发生在这个领域。 这是密码 if (1) { int policy; int r; struct sched_param param; policy =
浏览 0
提问于2018-08-17
得票数 0
回答已采纳
1
回答
使用Linux线程优先级和调度策略指南?
、
、
、
、
我很难在Linux上获得线程(/process)优先级的诀窍、调度策略选择、何时和如何选择以及确切的效果是什么。 是否有任何文件(如指南),最好有具体的例子和时间表,我可以参考?
浏览 2
提问于2015-01-27
得票数 0
1
回答
混合系统中的优先继承行为
、
、
如果我有一个实时的linux系统,但是某些子系统不是实时的。如果我对实时和非实时部分共享的某些同步对象使用优先级继承,会发生什么情况?在这些交叉问题上,文档似乎并没有触及那么多,尽管我可能遗漏了一些东西。
浏览 0
提问于2015-03-11
得票数 1
3
回答
是否将游戏进程的优先级更改为实时对CPU不利?
、
、
、
、
在Windows上,我经常将游戏进程的优先级改为“高”或“实时”,以提高性能。这从未导致我的硬件出现任何问题。我在想,也许我可以在Linux上使用chrt命令来改变游戏进程的实时优先级,因为reniceing,即使是-20 (最高优先级)似乎也没有提供任何明显的提升。但是,我不知道这样做是否对我的CPU有害,所以我对此很谨慎。有人能告诉我风险吗?
浏览 0
提问于2017-01-01
得票数 8
回答已采纳
3
回答
条件变量的成本是多少?
、
、
、
、
假设未使用的执行资源在所讨论的机器上可用,即并非所有CPU都被利用。如果一个线程正在等待一个条件变量,那么唤醒这个线程的相关开销是多少?同样,与等待条件变量相关的成本是多少?我感兴趣的是粗略的量化和成本的来源。在某种程度上,答案是“视情况而定”,我主要关心的是x86/x64上的Windows和Linux的最新版本。 编辑:由于涉及内核调用,内核调用比常规函数调用的开销高多少?
浏览 1
提问于2011-04-21
得票数 4
2
回答
Java多线程意外结果
、
我正在学习Java中的多线程技术,尽管我在下面的代码中测量了两个线程(、hi、和lo )的相对CPU使用情况。 class Clicker implements Runnable{ long click=0; Thread t; private volatile boolean running =true; public Clicker(int p) { t=new Thread(this); t.setPriority(p); } public void run(){ while(running){ click++; } } pub
浏览 2
提问于2014-06-26
得票数 0
4
回答
C linux pthread线程优先级
、
、
、
、
我的程序有一个后台线程,用于填充和交换双缓冲区实现的后台缓冲区。主线程使用前台缓冲区发送数据。问题是当我运行程序时,主线程平均获得更多的处理时间。我想要相反的行为,因为填充后台缓冲区是一个比处理和发送数据到客户端更耗时的过程。 我如何在Linux上使用C POSIX pthread来实现这一点?
浏览 1
提问于2011-03-21
得票数 13
回答已采纳
1
回答
什么是Linux全局调度策略?
、
、
、
我在学习操作系统。我有个疑问。例如,如果某个进程集(集合1)的调度策略是SCHED_RR,而对其他一些进程集(集2)的调度策略是SCHED_FIFO。 现在,当内核必须从这2组中选择某个进程时,Linux使用哪种调度策略? 是否有可能改变这一政策?如果是这样的话,怎么做呢?
浏览 0
提问于2016-11-19
得票数 2
回答已采纳
3
回答
在C++中不能触发优先级反转
、
、
、
、
为了演示目的,我试图在一个小型的C++程序上触发优先级反转,但我做不到:保存互斥的低优先级线程不是抢占,而是继续在关键部分运行。这就是我要做的: // let's declare a global mutex pthread_mutex_t my_mutex; ... int main(int argc, char **argv) { ... pthread_t normal_thread; pthread_t prio_thread; pthread_mutexattr_t attr; pthread_mutexattr_init (&attr);
浏览 2
提问于2012-03-19
得票数 3
回答已采纳
2
回答
有没有合适的方法来设置线程的超时时间?
、
、
、
、
我们有一个解码函数,它在自己的线程中运行来执行它的工作。执行时间通常远低于定义的超时值,但在某些情况下,可能需要更长的时间才能完成。因此,需要具有超时,以确保该函数不会对程序的其余部分造成额外的延迟。 这是目前在Windows操作系统上开发的,但我也在考虑Linux的可移植解决方案。 该实现到目前为止只需在解码功能内进行多次检查,以查看它是否仍有时间继续或中止处理。这就是def。这不是很好的实践,我正在考虑改进这一点。 我知道boost提供了这样的功能,但我们在这个项目中不使用boost。
浏览 0
提问于2012-08-17
得票数 0
4
回答
处理器负载测试程序只生成3个线程,但我们需要更多线程
、
、
、
、
我编写了一个简单的测试程序来产生一些处理器负载。它将抛出6个线程,并在每个线程π中进行计算。但是在目标平台(arm)上,处理器只生成3个线程,而在普通的Linux-PC上,相同的程序生成所有6个线程。 有什么问题吗? #include <stdio.h> #include <stdlib.h> #include <pthread.h> #include <unistd.h> #define ITERATIONS 10000000000000 #define NUM_THREADS 6 void *calculate_pi(void *thre
浏览 3
提问于2012-10-22
得票数 0
回答已采纳
1
回答
进程优先级与线程优先级
、
、
、
在Linux中,进程是一组线程。每个线程都有自己的优先级!但是进程也有优先级吗?如果是这样,它与线程优先级有什么不同?当创建一个新进程时,这些值是如何传播的?
浏览 1
提问于2011-02-11
得票数 5
回答已采纳
1
回答
确定线程的当前优先级(互斥优先级继承)
、
为了验证我对互斥线程优先级继承机制的理解是正确的,我想确定当前运行的优先级(当持有一个互斥线程时),以便稍后被一个更高优先级的线程锁定。 显然,pthread_getschedparam不是要走的路,它只返回最后(显式)设置的优先级/值。 是否可以使用pthreads (还没有找到)? 是否可以使用LinuxThread原语(从NPTL到LinuxThreads应该有1x1的映射 它是否可能彻底的POSIX线程跟踪工具(PTT) (似乎不太公开)。在这种情况下,它将是PTT工具的一个受欢迎的扩展,用于在Linux/NPTL下调试(软)实时应用程序。
浏览 2
提问于2014-03-19
得票数 0
2
回答
preempt_rt的缺点
、
、
、
、
目标硬件平台的马力有限,并且/或您希望实时作业将最小的开销放在系统上。这就是双内核通常比本地抢占系统更好的地方。 出发地: Preempt_rt确实抢先了整个Linux。先发制人的Linux以什么方式给系统带来了负载? 在那里的FAQ谈论的preempt_rt与Xenomai相比。
浏览 6
提问于2012-04-06
得票数 16
回答已采纳
1
回答
信号服务生点菜
、
、
我们希望在linux中使用信号量(以及p线程)。 首先,我们需要知道信号量上的服务员是否在等待它,这是FIFO的一种时尚。意思是,最后一个等待信号量的人将得到最后一个信号量。 谢谢。
浏览 3
提问于2014-01-01
得票数 0
回答已采纳
1
回答
微线程和工作队列的区别是什么?
、
、
、
、
我是一个Linux设备驱动程序新手,我想知道tasklet和workqueue之间的确切区别。我有以下疑问: 在中断/进程上下文中运行时,中断、线程和工作队列使用哪些内核堆栈? tasklet和workqueue将以什么优先级运行,我们可以修改它的优先级吗? 如果我实现了自己的工作队列列表,我可以独立地安排/排序吗?
浏览 6
提问于2013-08-19
得票数 13
回答已采纳
2
回答
Linux内核线程的调度器
、
Linux包括一些称为内核线程的特权进程。有没有可以运行/挂起它们的调度程序?如果是,这个调度器是否与系统调度器(我指的是调度整个系统进程的调度器)相同?
浏览 2
提问于2014-10-24
得票数 0
1
回答
如何在实时Linux中选择线程/进程优先级?
、
、
、
我正在开发实时软件,它将在Linux上使用PREEMPT_RT补丁运行。虽然这将使我能够通过使用Linux实时调度程序(SCHED_RR或SCHED_FIFO)获得实时性能,但我不确定应该为线程使用哪些优先级值。在我的系统中,当我查看我看到的优先级时(只显示使用RTPRIO的进程): $ ps -e -o cmd,pri,rtprio CMD PRI RTPRIO [sirq-high/0] 89 49 [sirq-timer/0] 89 49 [sirq-net-tx/0
浏览 4
提问于2016-06-03
得票数 3
回答已采纳
5
回答
C++多线程执行速度减慢
、
、
我正在编写一个多线程c++应用程序。当线程A有一个计算代价非常高的操作要执行时,它会减慢线程B、C和D的速度。我如何防止这种情况发生?
浏览 0
提问于2011-04-13
得票数 1
回答已采纳
1
回答
在C中无忙碌等待的情况下为线程添加优先级(Linux)
、
、
、
、
我在家庭作业中遇到了优先排序的问题。一些线程比其他线程具有更高的优先级,而其他线程必须等待访问文件,直到所有这些线程都完成了它们的工作。我们不允许使用忙碌等待。有没有别的办法来解决这个问题。谢谢。
浏览 45
提问于2020-06-27
得票数 0
2
回答
搜索内存泄漏,VisualVM:“找不到GC根目录”。下一步是什么?
、
、
我有一个内存转储,这是我从一个垂死的应用程序中创建的。它已经消耗了所有可用堆(-Xmx1024m)。它使用com.gargoylesoftware.htmlunit.WebClient爬行网页。每分钟发送几个http请求,几天内就会死掉。正如我从转储中看到的,它有1750个HtmlPage类实例,每个实例都带有相关对象的音调,包括爬行页面的完整内容。 我不明白为什么HtmlPage不是垃圾收集的。我已经研究过实例引用,我没有看到我的代码包含对它的引用,VisualVM说“找不到GC根”。据我所知,这应该意味着对象有资格使用gc,但它不起作用。 应用程序是作为一个简单的独立进程运行的,它不使用任
浏览 1
提问于2011-12-13
得票数 12
回答已采纳
1
回答
在linux下,pthread优先级和lwp优先级有什么关系?
、
、
我有一个应用程序在Linux上运行,通过pthread_attr_setschedpolicy使用SCHED_FIFO。 我的理解是,pthread_attr_setschedparam()应该允许在线程启动之前在线程属性结构上设置线程优先级,并且Posix要求至少支持32个级别。 确实是在跑步的时候: sched_get_priority_max(SCHED_FIFO) = 99 sched_get_priority_min(SCHED_FIFO) = 1 在pthread_create之前使用以下命令设置线程优先级: pthread_attr_setinheritsched(&th
浏览 3
提问于2017-05-09
得票数 0
1
回答
线程优先级和线程策略之间的关系是什么?
、
、
、
我目前正在学习线程,并且很难理解线程优先级与策略之间的关系。到目前为止我所知道的是: 线程优先级是指示优先级的整数。这个数字越高,操作系统对线程的优先级就越高。 线程策略确定线程如何在具有共享优先级的进程之间执行。SCHED_RR和SCHED_FIFO是实时策略,除非发出显式的“睡眠”命令,否则会持续执行。因此,程序员在使用这些策略时必须非常小心地编写代码。SCHED_OTHER是一种不实时执行的循环策略. 但是,假设我有以下场景(假设每个线程不使用“休眠”命令)。 Thread 1: priority = 0, policy = SCHED_OTHER Thread 2: priority
浏览 1
提问于2019-11-11
得票数 0
回答已采纳
1
回答
哪一个是仪器中的性能核心?
、
、
、
、
当我在使用A11处理器的iPhone X上的仪器中运行配置文件时。这款CPU有两个性能内核和四个效率内核。 我想问一下,是否有一种方法可以区分哪一个是性能核心?至于主线程,GCD是否会将主线程任务更多地放在性能核心上,而不是效率核心? 我非常有兴趣了解这实际上是如何工作的。
浏览 14
提问于2020-05-19
得票数 1
回答已采纳
2
回答
使用QThreads的MinGw在windows下不能正常工作
、
、
、
、
我正在使用Qt开发一个大型优化工具。为了更好地使用CPU,我使用了QThreads。然后,我将worker对象(从QObject派生,包含非QObject数据成员)移到线程中。一切看起来都很好,构建良好,并且使用GCC和Qt4.8在Linux上顺利运行。 然而,在Windows下使用QT5.5使用MinGw,计算时间要长得多。线程似乎阻塞了计算中的某个位置,并被序列化。我显示了一些调试消息,以确保线程正确工作。在Windows上似乎存在一种拙劣的东西,但在Linux下却不存在。我不认为Qt版本有什么不同,我更愿意认为问题是由MinGw引起的。操作系统是Windows 7和Debian。我使用编
浏览 3
提问于2016-04-08
得票数 0
回答已采纳
5
回答
freeRTOS和并行处理
、
、
、
这是一个简单的问题: freeRTOS是否像“真正的”Linux系统那样在多个进程中处理多线程?
浏览 0
提问于2011-02-06
得票数 3
回答已采纳
1
回答
如何为并行计算优化linux调度程序?
、
、
、
、
我有一台linux机器专门用于运行一些并行计算,我正试图了解如何选择/调优调度程序,或者其他参数,以提取最高的性能(这是使用AWS部署的,因此也有一些linux发行版的选择,如果这很重要的话)。 我在java中实现了计算,因为计算的不同部分之间存在一些微妙的依赖关系(总共有大约5K的“任务”,但是任务通常需要在执行过程中的多个点来自其他任务的信息)。我想考虑两个实现。 当前实现 在当前的实现中,线程的数量等于内核的数量,每个线程都会捡起一个不等待任何信息的任务,直到它被某个丢失的信息停止为止,此时它会删除任务并再接另一个任务。这种情况一直持续到计算完成为止。 在这里,似乎希望每个CPU始终绑定
浏览 0
提问于2021-01-03
得票数 0
1
回答
mq_receive调用空POSIX消息队列取消阻塞的顺序
、
、
、
在没有O_NONBLOCK的情况下创建消息队列时,如果队列为空,则mq_receive()调用阻塞。当一条新消息被发送到队列时,哪些等待的mq_receive()调用实际上解除阻塞? QNX文档明确提到FIFO顺序: 如果多个mq_receive()调用在单个队列上被阻塞,那么它们将在消息到达时按FIFO顺序解除阻塞。 所有POSIX IPC实现都是这样吗?Linux实现是做什么的?该手册相当不具体: 如果队列为空,则默认情况下,mq_receive()会阻塞,直到消息可用,或者呼叫被信号处理程序中断。。
浏览 0
提问于2019-12-02
得票数 1
回答已采纳
2
回答
Java -如何确定当前负载
、
、
如何确定当前的服务器负载?我是否需要在这里使用JMX来获取cpu时间,或者是否有其他方法来确定这一点或类似的东西? 我基本上想让后台作业只在服务器空闲时运行。我将使用Quartz每30分钟启动一次作业,检查服务器负载,如果负载低则继续,如果繁忙则暂停。 一旦我可以确定如何测量负载(cpu时间、内存使用),我就可以在不同的时间点测量这些负载,以确定我希望如何配置服务器。 沃尔特
浏览 1
提问于2009-11-24
得票数 1
回答已采纳
2
回答
16毫秒是否是Windows上运行的未阻塞线程等待执行的异常长时间?
、
、
、
最近,我使用DSPACK组件对我在Delphi6中的一个DirectShow应用程序做了一些深入的定时检查。作为我诊断的一部分,我创建了一个关键区段类,它为大多数Windows编程语言中常见的关键区段对象添加了一个超时功能。如果从第一个the ()到最后一个匹配的版本()之间的持续时间超过X毫秒,就会引发异常。 最初,我将超时设置为10毫秒。我在关键部分中包装的代码非常快,主要使用内存移动,并填充了受保护区域中包含的大多数操作。令我惊讶的是,在代码中看似随机的部分中,我得到了相当频繁的超时。有时这种情况发生在迭代缓冲区列表并按顺序执行某些快速操作的代码块中,另一些情况是在保护代码的很小部分中,
浏览 0
提问于2011-11-30
得票数 3
回答已采纳
1
回答
存在哪些安全控制,使用户进程无法为自己分配最高优先级?
、
我正在学习Linux进程调度程序,并一直在阅读pthread_setsched函数:https://man7.org/linux/man-pages/man3/pthread_setschedparam.3.html 让我感到惊讶的是,线程可以修改自己的优先级/类。我可以看到,这对于配置某些多线程应用程序(例如生产者和使用者)是有意义的,但是,任何进程都可以请求设置自己的优先级,这似乎是一个系统稳定性风险。是什么阻止了我的helloworld.out以最高优先级请求SCHED_FIFO?这可以完全锁住系统。 那么,有哪些机制可以防止进程完全控制调度程序呢?似乎可以设置系统错误EPERM,但是这
浏览 0
提问于2022-02-16
得票数 -1
回答已采纳
2
回答
使进程休眠并唤醒它
、
、
、
我在linux嵌入式系统上有一小段C代码。我目前每隔50ms执行一次算法。 因此,我选择了警报选项,修改了一个易失性变量。为了等待闹钟,我使用了一个空的忙循环。我不喜欢我正在采取的方法,我认为一定有更好的方法来做。有什么建议吗?也许是一种使用闹钟唤醒nanosleep()的方法?
浏览 5
提问于2013-10-17
得票数 0
1
回答
为什么我的程序中的这条线会被饿死?
、
、
、
我有一个有大约80个线程的程序。它运行在Linux3.36上的一台~50ish核心机器上。最多有两个这样的程序同时运行,而且它们是相同的。这台机器上没有别的东西在运行。 线程本身是具有SCHED_RR (循环)策略的实时linux线程。 10是最高优先级(是的,我将ulimit设置为99),并将cpu亲和力设置为10个核心。换句话说,他们每个人都被钉在自己的核心上。 大约有60人是中等优先。 约有10人处于低优先地位。 10个优先级最高的线程一直在使用cpu。 其余的人正在做网络IO,以及在CPU上做一些工作。问题是:我看到一个低优先级线程被饿死了,有时一次超过15秒。此特
浏览 4
提问于2016-10-19
得票数 1
3
回答
可以在Java中控制每个线程执行的时间量吗?
、
、
我想控制每个线程使用的时间。 一个线程进行一些处理,另一个线程处理数据库中的数据,但由于生成的数据量较大,插入速度比处理速度慢。我想给处理器更多的时间来插入数据。 有没有可能用线程做到这一点?目前,我在执行处理的线程中设置了睡眠,但是插入的时间会根据机器的不同而变化。有没有其他方法可以做到这一点?在我的程序中是否涉及到线程同步的使用?
浏览 0
提问于2011-10-23
得票数 3
回答已采纳
1
回答
优先于其他windows进程的Java进程
、
、
我的任务是创建一个自定义文件备份服务,允许任何使用此服务的膝上型计算机在连接到我们的网络服务器时备份某些目录。我得到的一个要求是,服务基本上应该优先考虑用户在笔记本电脑上的正常活动,而不影响性能……太多。我用Java创建了这个程序,目的是将其包装为YAJSW服务。我知道我可以将“进程优先级”设置为低,这将允许: 进程的线程被运行在较高优先级级别的任何进程的线程抢占。 正因为如此,我想我会利用每个文件传输一个线程,而这些线程就是这样做的。我现在有这样的事情: public void copyFiles() { for (ScannedFile file : filesToCopy
浏览 3
提问于2016-03-01
得票数 4
回答已采纳
1
回答
测量创建线程所需的时间
、
、
、
、
如何度量创建和启动线程所需的时间?(Linux、线程或boost::线程)。 谢谢你的建议!
浏览 3
提问于2012-05-02
得票数 0
2
回答
在CFS中vruntime的概念是什么?
、
、
、
我一直在阅读关于内核Linux内核和CFS调度程序的文章。我遇到了vruntime (虚拟运行时),它是CFS调度程序背后的核心概念。我从“”和互联网上的其他博客中读到过,但我无法理解运行时背后的基本计算。V运行时是属于一个特定的进程,还是属于一组具有相同好值的进程。加权系数是多少,是如何计算的?我经历了所有这些概念,但无法理解。另外,vruntime和*min_vruntime*之间的区别是什么?
浏览 3
提问于2013-10-04
得票数 19
回答已采纳
1
回答
嵌入式Linux。自动执行代码块
、
、
、
、
目前,我在嵌入式linux设备(2.6.28.10版)上有一个用户空间应用程序,它通过切换GPIO引脚来控制一些自定义硬件。对GPIO寄存器的写入发生在单独的pthreads中,所有这些都需要访问设备。大多数情况下,这样做都很好,因为有一个semaphore可以防止多个线程同时访问执行GPIO写操作的部分。 问题在于,在写入这些GPIO寄存器的过程中(大约24个8位写入),另一个线程will interrupt当前线程,尽管中断线程由于信号量而不能修改寄存器,但是在几毫秒内不会将控制权返回给正在写入GPIO的线程,这当然会使发送到外部设备的数据无效。 linux中有没有一种方法可以确保这组GP
浏览 0
提问于2013-08-15
得票数 0
4
回答
用Boost在Linux中设置线程优先级
、
、
、
、
Boost库似乎没有设置线程优先级的设备。这是在Linux上使用的最好的代码,还是有更好的方法? boost::thread myThread( MyFunction() ); struct sched_param param; param.sched_priority = 90; pthread_attr_setschedparam( myThread.native_handle(), SCHED_RR, ¶m); 我没有太多的Linux编程经验。
浏览 1
提问于2009-09-25
得票数 25
回答已采纳
1
回答
当优先级较高的任务繁忙时,不调度较低优先级的线程。
、
、
、
环境-带有Linux内核2.6.18需求的嵌入式设备-3个线程(由一个进程创建,假设P1创建了T1、T2、T3) T1位于linux优先级99 (最高),T2位于linux优先级50 ( mid),T3位于Linux优先级2(最低)。没有为任何线程显式地设置好的值。 T1和T3每秒递增一次变量。T1每5秒打印两个变量一次。一切顺利。当T2进入无限循环"for(;;);“时,有问题的地方是在t1的计数适当增加之后,但是t3的计数根本没有增加。这意味着T3从来没有时间在CPU中运行。 一直以来,我都在想linux的CFS保证所有优先级都能得到适当的份额(基于权重)。但这证明,任何线程进入C
浏览 2
提问于2016-01-20
得票数 4
3
回答
Linux实际上是否实现线程优先级?
、
、
、
编写了一个快速Java程序,生成10个具有每个优先级的线程,并计算pi (4*atan(1)方法),每个线程使用BigDecimals 500,000次,连接每个线程,并报告运行方法的运行时间。是的,这不是最好的例子,但要保持基本。 我知道 在C中这样做并不简单,但我们是否可以假设本地优先级从未在Linux上设置过呢? $uname -r && grep bogomips /proc/cpuinfo 2.4.33.3 bogomips : 4312.26 $java -version 2>&1 |head -1 Java version "1
浏览 8
提问于2009-11-02
得票数 24
回答已采纳
1
回答
低优先级线程似乎阻止高优先级线程?
、
、
我有两个线程,每个线程使用SCHED_FIFO设置不同的实时优先级。线程节流已被禁用,因此理论上最高优先级线程应该能够使用100%的CPU资源,从而防止优先级较低的线程永远运行。如果我在低优先级线程中创建了一个不产生或休眠的无限循环,那么我希望没有任何低优先级线程能够运行。但是,似乎更高优先级线程的标准输出也停止了,这表明它也无法运行,这使我感到困惑。 为什么这个优先级较低的线程会干扰应该始终具有优先级的高优先级线程?这是否与紧密的无限循环有关,还是从根本上讲,我误解了Linux线程优先级应该如何工作? 我试图使这个问题尽可能笼统,但由于答案可能与我非常具体的设置有关,所以我使用了内核版本4.
浏览 0
提问于2017-09-28
得票数 4
回答已采纳
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
你不好奇 CPU 是如何执行任务的吗?
你不好奇 CPU 是如何执行任务的?
程序员不可不知的Linux性能工具
Linux进程调度:完全公平调度器CFS
鸿蒙内核标准库与linux标准库的差异
热门
标签
更多标签
云服务器
ICP备案
实时音视频
即时通信 IM
对象存储
活动推荐
运营活动
广告
关闭
领券