草庐IT

needs_thread_safety

全部标签

windows - 赢 10 : what registry keys entries are needed to reg my app for tel protocol

关于tel协议(protocol)处理程序:除了在窗口10下,我的应用程序工作正常。在窗口10下需要哪些额外的注册表项才能为tel协议(protocol)注册应用程序(因此我的应用程序成为tel协议(protocol)的默认应用程序)?我的应用没有CLSID。 最佳答案 你可以在网上找到一堆tel协议(protocol)需要的key。但是win10最重要的是[HKEY_CURRENT_USER\SOFTWARE\RegisteredApplications]MyApp="Software\MyApp\Capabilities"。当然

java - 在 Windows 上线程直到 Thread.join() 才停止

方法stopServer()服务器在Mac、Linux和UNIX计算机上运行完美,但当我尝试在Windows上关闭时,我发现它至少需要一秒钟每个用于由于ServerSocket超时而关闭的套接字。我希望它们像在Linux、Mac等中那样一次关闭所有,而不是在我调用Thread.join()时一次关闭一个。服务器代码publicclassFileServer{privateArrayListsockets=newArrayList();privateServerSocketfileServer;publicvoidstartServer(intport,intmaxThreads,int

java - Windows 上的 IBM Websphere - OutOfMemoryError : Failed to create a thread

我有一个J2EE应用程序在Windows操作系统上的IBMWebsphereApplicationServer上运行。偶尔我会在javacore文件中看到一个OutOfMemoryError异常,其中包含以下信息。1TISIGINFODumpEvent"systhrow"(00040000)Detail"java/lang/OutOfMemoryError":"Failedtocreateathread:retVal-1073741830,errno12"receivedJava使用以下配置运行:-Xms512m-Xmx1350m-Xscmx50M分析javacore文件,线程数只有1

.net - 初始化和分区磁盘 - 如何防止出现 "you need to format disk"消息?

我正在尝试从应用程序初始化、分区和格式化磁盘。操作系统是WindowsServer2008R2。我使用哪种方法来完成这些任务并不重要,但假设我使用的是DeviceIoControlAPI。一旦应用程序初始化并创建分区,Windows就会弹出一个消息框,提示“您需要格式化磁盘..."因此,即使我的应用程序立即格式化了这个磁盘,消息框仍然存在,用户会感到困惑,实际上可以再次格式化它。有没有办法阻止Windows弹出那个消息框? 最佳答案 看来情况比我最初想的要复杂一些。让我在这里解释一下我的发现,可能对其他人有用。以何种方式初始化和格式

windows - shell32.dll : access violation during GetOpenFileName new thread

GetOpenFileName因访问冲突而失败。文件必须在桌面上并且名称很长。只有在第一次成功打开文件后才会出现问题。当鼠标光标悬停在文件上时出现问题,因为工具提示即将显示。请参阅下面的答案。我将在下面留下原始问题描述。迈克·D。=======================我正在使用GetOpenFileName。我有时会在shell32的深处遇到访问冲突。第一次使用此代码时不会发生违规,通常需要五六次尝试。此外,如果在弹出打开的文件窗口后一两秒内选择一个文件,则不会发生违规。另外,我调试时显示的调用堆栈不包含我的任何代码。就好像某个独立的线程正在醒来做某事。非常感谢任何关于我如何调

windows - 如何在 Windows 中获得线程句柄的访问权限 THREAD_QUERY_INFORMATION

我想使用GetExitCodeThread()。MSDN文档说,“句柄必须具有THREAD_QUERY_INFORMATION或THREAD_QUERY_LIMITED_INFORMATION访问权限。”我使用_beginthreadex()创建我的线程。当我调用这个API时,我应该如何设置THREAD_QUERY_INFORMATION标志?它应该是initFlag的一部分吗?文档没有说明必须如何准确设置此标志。 最佳答案 _beginthreadex返回的句柄已经足够访问线程以查询有限的信息。毕竟它有终止线程的权限,这远不止查询

c++ - #include<线程>,错误无法打开源文件 "thread"

我期待在Windows上用C++实现多线程,我找到了链接http://www.cplusplus.com/reference/thread/thread/作为对线程的解释,在给定的示例中他们提到了线程的标题命名,实际上我正在Microsoftvisualstudio2010中编写代码,它说错误无法打开源文件“thread”,请帮助我这是否有帮助,或者请向我推荐任何其他有帮助的网站,实际上我是高级C++的初学者,在此先感谢。 最佳答案 是C++11header,VisualStudio2010不实现C++11。尝试更新到VisualS

windows - 重叠 I/O : How to wake a thread on a completion port event or a normal event?

我想使用线程池来启动/取消重叠读取操作——分别使用ReadFile()和CancelIo()——以及处理任何读取操作完成时的完成端口事件。任何线程都可以发起读操作任何线程都可以处理读取完成事件只有发起读取的线程可以取消它(这是一个CancelIo()限制)我不确定如何实现它。通常调用GetQueuedCompletionStatus()来等待完成端口事件,调用WaitForSingleObject()来等待正常事件,但不清楚如何混合使用这两者。如果PostQueuedCompletionStatus()让我指定一个特定的线程来唤醒我就会被设置。有什么想法吗?更新:该解决方案必须在Win

windows - C/C++ : duplicate main() loop in many threads

我有这个“有趣”的问题。我有这个遗留代码,看起来像intmain(){while(true){doSomething();}}我想在许多线程中复制doSomething(),这样现在main()看起来像intmain(){runManyThreads(threadEntry)}voidthreadEntry(){while(true){doSomething();}}问题是doSomething()访问许多全局变量和静态变量,我无法更改它的代码。是否有复制这些静态变量的技巧,因此每个线程都有自己的集合?(某种线程本地存储,但不影响doSomething())..我使用VisualC++

c++ - TabCtrl_InsertItem : do we need to keep memory of the text alive?

对于TabCtrl_InsertItem,我们需要保留pszTextmember指向有效内存还是操作系统会复制文本以便我们可以立即清除文本?TCITEMtcItem={TCIF_TEXT};CStringstrText;for(inti=0;i我们如何才能知道对于这个函数和future的其他函数哪个是正确的?我在MSDN中找不到它。 最佳答案 操作系统会将字符串复制到内部数据结构中。您不需要维护支持字符数组。您可以在函数调用完成后立即释放它。通常,任何接收字符串的WindowsAPI函数都是这种情况。没错,MSDN文档中没有明确说明