草庐IT

threading-multi

全部标签

c++ - 如何在 C++ 中使用 RegQueryValueEx(..) 从注册表中读取 REG_MULTI_SZ 类型的值

在我们的vc++win32应用程序中,我们正在读取reg_multi_sz类型的注册表值,它在32位上运行良好,但在64位上运行时给出空缓冲区。如何从我的32位应用程序中读取64位注册表的值? 最佳答案 能具体点吗?通常,当您尝试在32位代码中读取64位注册表配置单元时,您必须使用KEY_WOW64_64KEY打开HKLM\Software。希望对您有所帮助。 关于c++-如何在C++中使用RegQueryValueEx(..)从注册表中读取REG_MULTI_SZ类型的值,我们在Sta

c++ - Mingw32 是否支持 std::thread?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:HowtoenableexperimentalC++0xconcurrencyfeaturesinMinGW?我的mingw32版本(gcc版本是4.5.2)没有自带std::thread类。有没有支持std::thread的mingw32版本?

python : is it ok to threads read/write simultaneously to same TCP socket?

我想要一个读取线程和一个写入线程到同一个TCP套接字。可以吗?在访问它之前我需要锁定吗?平台是Windows7,CPython2.7.4 最佳答案 对于Unix内核,两个线程一个读取一个文件(套接字),另一个写入一个文件(套接字),这与两个进程做同样的事情是一样的。由于内核能够多路复用IO,因此您无需担心。 关于python:isitoktothreadsread/writesimultaneouslytosameTCPsocket?,我们在StackOverflow上找到一个类似的问题

java - 将 Thread/Runnable 实现从 Java 转换为 Kotlin

我有一个现有的Java类ThreadUtils,其方法every如下所示:publicclassThreadUtil{publicstaticThreadevery(intseconds,Runnabler){Threadt=newThread(()->{while(true){r.run();try{Thread.sleep(1000*seconds);}catch(InterruptedExceptione){return;}}});t.start();returnt;}}我正在尝试将其转换为Kotlin。我对Runnable关闭有点犹豫。这失败了一个错误的return:funev

java - 将 Thread/Runnable 实现从 Java 转换为 Kotlin

我有一个现有的Java类ThreadUtils,其方法every如下所示:publicclassThreadUtil{publicstaticThreadevery(intseconds,Runnabler){Threadt=newThread(()->{while(true){r.run();try{Thread.sleep(1000*seconds);}catch(InterruptedExceptione){return;}}});t.start();returnt;}}我正在尝试将其转换为Kotlin。我对Runnable关闭有点犹豫。这失败了一个错误的return:funev

c++ - 使用 C++11 std::thread native_handle 以及我是否需要 CloseHandle

我开始练习使用C++11std::thread。通常,对于Win32,只要我有线程句柄,我就需要调用CloseHandle。当我使用C++11native_handle时,是否仍需要调用CloseHandle?另外,如果我不使用C++11native句柄,线程句柄是否得到正确清理? 最佳答案 当然不是。线程对象有一个析构函数,它释放对象可能获取的任何操作系统特定资源。实际上,每个(好的)C++对象都有一个析构函数,可以清除需要清理的所有内容,并且这个析构函数(当代码编写正确时)由程序自动调用。这个习语被称为RAII-每个对象都有一个

windows - 我可以在 Windows 上使用 std::thread 吗?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:HowtoenableexperimentalC++0xconcurrencyfeaturesinMinGW?TDM-GCC提示error:'thread'isnotmemberof'std'使用g++test.cpp-std=c++0x构建时

c++ - 为什么即使我设置了 THREAD_MODE_BACKGROUND_BEGIN,我的程序还是资源消耗大户?

我有一个结构如下的程序,它是一个巨大的CPUpig。整个系统的IO变慢,我几乎无法移动鼠标指针......为什么?我认为THREAD_MODE_BACKGROUND_BEGIN应该阻止这种情况?#pragmaompparallel{SetThreadPriority(GetCurrentThread(),THREAD_MODE_BACKGROUND_BEGIN);#pragmaompforfor(...){doTruckLoadsOfComputation();if(omp_get_thread_num()==0)doTinyAmountOfIO();//progressindicat

c++ - C++ 中 Thread.SetApartmentState 的等价物是什么?

在C#中,Thread类中有一个方法SetApartmentState。我如何在C++中做同样的事情? 最佳答案 对于非托管进程,您可以通过将适当的参数传递给CoInitializeEx()来控制用于线程的单元模型。.拉里·奥斯特曼(LarryOsterman)为这些写了很棒的小指南:...WhenathreadcallsCoInitializeEx(orCoInitialize),thethreadtellsCOMwhichofthetwoapartmenttypesit’spreparedtohost.Toindicatetha

c# - 如何将新字符串添加到 REG_MULTI_SZ 类型的注册表项?

我有1个类型为REG_MULTI_SZ的注册表项。此条目中已包含一些字符串。现在我想使用.netclassRegistryKey添加1个字符串。这个类有方法key.SetValue(string,string)。但是当我使用这种方法时,它会删除所有已经存在的字符串,然后插入新字符串,简而言之,它会覆盖。我不想触及已经存在的字符串,只想在末尾添加新字符串。任何人都知道我们如何在C#中执行此操作。 最佳答案 对于多字符串值,我会这样做。key.SetValue("MultipleStringValue",newstring[]{"One