jjzjj

thread-sleep

全部标签

windows - 在没有 "Cross Threading"的情况下,我可以从 BackgroundWorker 访问什么?

我意识到我无法从BackgroundWorker的DoWork事件处理程序访问表单控件。(如果我尝试这样做,我会得到一个异常,正如预期的那样)。但是,我可以访问存在于我的表单上的其他(自定义)对象吗?例如,我创建了一个“设置”类并在我的表单中实例化了它,我似乎能够读取和写入它的属性。这只是运气好吗?如果我有一个静态类怎么办?我可以安全地访问它吗? 最佳答案 @英格拉姆:您已经了解了它的要点-CrossThreadCalls只是MS放入.NETFramework中的一个很好的功能,用于防止“笨蛋”类型的并行编程错误。它可以被覆盖,正如

c++ - Boost 1.66.0 : could not find boost libraries :boost_system, boost_filesystem、boost_thread、boost_date_time

我的配置是:操作系统:Windows10x64boost:1.66.0CMake:3.10VisualStudio:2017我正在以这种方式编译boost:bootstrap.\b2--build-dir=buildtoolset=msvcaddress-model=64--build-type=completestage运行CMake时出现此错误:couldnotfindboostlibraries:boost_systemboost_filesystemboost_threadboost_localeboost_date_time我搜索这些库,它们位于stage文件夹中。我尝试了B

C++/Windows : HeapAlloc() for contention-free per-thread heaps

我有一个使用boost::thread的多线程应用程序。出于性能原因,我希望每个线程都有一个独立的堆。我可以使用HeapCreate()创建一个堆,但不清楚如何将其连接到CRT库,以便new和malloc在创建的堆上分配内存。如何做到这一点? 最佳答案 Howcanthisbedone?如果不完全替换整个内存分配器就无法完成。例如可伸缩内存管理器Hoard正是这样做的。但是替换内存分配器并不适合胆小的人。如果您想通过HeapCreate使用每线程堆,并且合理包含您的分配/释放代码,那么您可以简单地调用HeapAlloc和HeapFr

windows - mingw std::thread 与 Windows API

我开始使用C++11std::thread(mingw4.8)到目前为止一切顺利。我遇到了重叠I/O的情况,其中sleepEx用于将线程置于可警告的等待状态。这工作得很好,直到必须使用QueueUserAPC,它返回一个“无效句柄错误”。经过一番查找,发现std::thread使用的是Windows下的pthread库。有没有什么方法可以使用WindowsAPI调用,它需要一个带有std::thread的线程句柄?或者我是否需要坚持使用Windows线程来处理重叠I/O? 最佳答案 为了解决您的问题,MinGW-w64winpthr

windows - 为什么 Sleep(1) 的 sleep 时间在 Windows 中似乎是可变的?

上周我需要测试一些不同的算法功能,为了让自己更轻松,我添加了一些人工sleep并简单地测量了时钟时间。像这样:start=clock();for(inti=0;i由于Sleep的参数以毫秒为单位表示,我预计总挂钟时间约为10秒(由于算法的缘故要高很多,但现在这并不重要),这确实是我的结果。今天早上,由于新的MicrosoftWindows修补程序,我不得不重新启动我的PC,令我惊讶的是,Sleep(1)不再需要1毫秒,而是大约0.0156秒。所以我的测试结果完全搞砸了,因为总时间从10秒增加到大约156秒。我们在多台PC上对此进行了测试,显然在某些PC上,一次sleep的结果确实是1毫

windows - 批量关机命令表现得像 sleep 命令,如何解决?

我在本网站其他帖子的帮助下结合我所掌握的初学者知识创建了这个批处理文件。它的目的是在设定的时间后关闭或休眠计算机,这样我就可以让它完成任务而无需在它完成后整夜运行。问题是,如果我运行shutdown命令,它似乎会关机,但当打开时会恢复所有打开的应用程序,有时无法正常启动。(例如,需要1-2次开机才能真正开机,而不是稍后再次关机。)运行全新安装的Windows10homex64这是我对该文件的完整代码:@echooffcolor3Fmodecon:cols=52lines=5echoMinutesuntilevent?set/pmin=set/asec="min*60"echoShutd

linux - ansible 2.3> 在检查 Windows 主机时,错误 : Thread failed to start

我正在通过ansible连接到Windows主机。但是我从win_shell得到一个错误。[as_user@ttansible-winconnect]$ansible-playbook-iWINwin_conn.yml-techo_test--ask-pass-vvvvfatal:[x.x.x.x]:FAILED!=>{"changed":true,"cmd":"echo%HOMEDIR%>print.txt","delta":"0:00:00.287028","end":"2017-05-2511:38:05.603907","failed":true,"rc":1,"start":

c - Windows 内核驱动程序 : How to determine if thread terminated?

我有一个线程用于某些操作,它需要保持事件状态,直到标志另有说明为止。我用PsCreateSystemThread创建线程,然后使用ObReferenceObjectByHandle获取ETHREAD在使用KeWaitForSingleObject卸载驱动程序之前等待线程终止的对象引用.Thefunctionthatcreatesthethreadandretrievesareferencetoit:ntStatus=PsCreateSystemThread(&hThread,(ACCESS_MASK)0,NULL,(HANDLE)0,NULL,ThreadRoutine,(PVOID)

Windows C++ 和微秒 sleep 的可能性

Windows环境中是否有休眠~1微秒的方法?在研究和阅读了许多线程和各种网站之后,我无法看到这是可能的。由于调度程序似乎是限制因素并且它运行在1毫秒的水平上,那么我相信如果不进入实时操作系统就无法完成。 最佳答案 它可能不是最便携的,我自己也没有使用过这些功能,但可以使用此链接和block的高分辨率计时器部分中的信息:QueryPerformanceCounter 关于WindowsC++和微秒sleep的可能性,我们在StackOverflow上找到一个类似的问题:

java - Thread.currentThread().getContextClassLoader().getResource (".") 在 windows 和 linux 上有不同的结果

我有一个简单的Java类:publicclassT{publicstaticvoidmain(String[]args){System.err.println(Thread.currentThread().getContextClassLoader().getResource("."));}}在我得到的windows上运行上面的类:file:/T:/java/在Linux上运行时我得到了不同的东西:jar:file:/usr/lib/jvm/java-6-openjdk-common/jre/lib/ext/pulse-java.jar!/这个问题导致我的程序在Linux上失败,因为它