草庐IT

thread-sleep

全部标签

c++ - 线程应用程序中的 sleep 命令

Windows中的Sleep(ms)命令导致线程释放它们的时间片。是否存在暂停线程但不释放时间片的等效Sleep(ms)命令? 最佳答案 您不希望您的线程休眠(又名挂起),您想要停止它。用一个简单的循环来做到这一点:#includevoidstall(unsignedms){clock_tgoal=clock()+ms;while(goal>clock());}//ormaybehigherresolutionwithsomeperformanceprofilingfunctions...

c++ - C++中有通用的 sleep 和通用的暂停命令吗?

我正在寻找一个通用的sleep命令以及一个通用的C++暂停命令。它需要适用于Windows、MAC和Linux计算机。如果有人知道任何出色的可移植性命令,请告诉我。 最佳答案 C++11有std::this_thread::sleep_for(std::chrono::milliseconds(1000));C++14有usingnamespacestd::literals;std::this_thread::sleep_for(1000ms);正如@Creris提到的,Boost是否涵盖了Win32和具有pthread的平台上的C

c++ - 如何销毁由 std::thread 显式创建的线程?

我希望两个线程最初都在无限循环中运行,但过了一段时间我想杀死第一个线程而不等待它完成,第二个线程应该正常运行。我该如何实现?当我运行下面的代码时,出现调试错误!voidf1(inti){while(1){printf("ExecutngThread%d:%d\n",i,j);Sleep(10);}}intmain(){std::threadt1(f1,1);std::threadt2(f1,2);Sleep(100);t1.~thread();while(1){Sleep(10);}return0;} 最佳答案 程序按照设定的控制流

C++ Windows MFC 并发 : Get thread to wait until particular state achieved

在WindowsMFC并发上,我如何告诉我的当前线程等待直到达到特定状态?目前我能想到的唯一方法是执行周期性sleep并检查状态——当我们处于预期状态时,然后继续。有更好的方法吗?BOOLachieved=FALSE;intmain(intargc,char**argv){//Thisfunctioncreatesanewthreadandmodifiesthe'achieved'globalvariableatsomepointinthefuturedoSomethingOnAnotherThread();//Waitmaximum4secondsfor'achieved'tobeT

Windows 服务应用程序上的 Java5 - 获取 Full Thread Dump 需要说明

我在这里浏览了几篇文章,例如:javastackdumponwindowsThreaddumpprogrammatically/JDI(JavaDebuggerInterface)但没有得到确切的答案。问题:Windows上有一个作为服务运行的Java5应用程序(因此我们没有可以使用Ctrl+Break进行转储的控制台)。有时应用程序挂起,我们需要一个线程转储。我们试过“jstack”但它在我们的环境中不起作用(我们发现它只兼容Java6)。所以我们制作了一个C++应用程序,它通过附加到Java应用程序进程的.dll调用方法调用线程转储,因此它需要本地管理员权限,这不是很好。因此,我们

c - Windows 上的定时器和 sleep

我正在尝试将一些使用nanosleep()和get_clocktime()的linux代码移植到Windows。据我所知,Windows上确实没有那么多性能计时器,并且除了Sleep()之外没有真正的sleep功能。我在Windows上找到了QueryPerformanceCounter和QueryPerformanceFrequency,但我该如何调整它们以使用快速sleep功能。我尝试移植的代码位于这篇StackOverflow帖子中:https://stackoverflow.com/a/13559213/1161270总的来说,我正在尝试将linux代码移植到使用nanosle

linux - 当计算机从 sleep 模式唤醒时,它是否使用与以前相同的物理地址?

当计算机从sleep模式唤醒时,它是否使用与以前相同的物理地址?只是好奇这个。我假设它可能是因为它暂停到内存中。它是否也可能依赖于操作系统?如果是这样,它如何适用于特定操作系统,例如Windows或Linux。还有,休眠模式呢? 最佳答案 RAM本身保持在同一个位置(当然,假设没有人热插拔任何内存)-它的组织由BIOS或非基于PC的系统使用的任何启动过程决定。术语“sleep”通常表示“暂停到RAM”,这基本上意味着处理器停止运行。由于处理器是唯一[1]可以重新安排内存中的内容的东西,并且它在sleep期间不通电,因此RAM很可能在

windows - 是否可以将断点条件设置为 "break when called by another thread"?

我正在调查一个可能由多线程引起的问题。数据不断被一个线程读取,我想看看它是否被另一个线程读取。我可以设置断点并按住F5并检查它是否在另一个线程中中断,但这有点烦人。是否可以将断点条件设置为“被另一个线程调用时中断”? 最佳答案 您可以设置一个过滤器(参见UsingBreakpoints)。例如,可以在ThreadId上设置过滤器。要设置过滤器,请右键单击断点,选择Conditions...,然后输入ThreadId!=作为过滤器表达式。确保表达式中没有任何空白字符。否则,您将收到一条不太有用的错误消息。

windows - 关闭 Microsoft Surface Dial sleep 模式

在为新的MicrosoftSurfaceDial开发时,我注意到该设备会在几分钟后进入休眠状态,并在与设备交互后大约需要1-2秒才能再次唤醒。这对于我的特定用例来说是不够的,应用程序必须立即提供反馈。我已尝试在设备管理器中关闭蓝牙设备的能量设置,但问题仍然存在。有没有办法通过代码或其他方式关闭此功能? 最佳答案 遗憾的是,如果不更新Microsoft固件,则无法解决该问题。该装置使用NordicSemiconductornRF52832蓝牙低功耗SoC,可以在芯片上进行更改,但需要固件更新。真的很抱歉,但这是唯一的办法。

windows - Windows 从 sleep 中返回后的 InstanceOwnerException

也许你们中的任何人都可以帮助我解决这个烦人的问题。我有一个长时间运行的工作流程,由一个长时间运行的应用程序使用。我使用SqlWorkflowInstanceStore进行持久化。我设置了DefaultInstanceOwner,这样我就可以在应用程序的另一次启动时重新加载工作流。InstanceHandlehandle=workflowInstanceStore.CreateInstanceHandle();InstanceViewview=workflowInstanceStore.Execute(handle,newCreateWorkflowOwnerCommand(),Time