草庐IT

QT多线程

全部标签

windows - 如何使用MFC统计Windows中每个进程的线程数

我想使用MFC构建一个类似于应用程序的任务管理器。我已经成功地枚举了当前运行的各种进程的PID和内存使用情况。我的问题是我还想获得每个进程运行的线程数。 最佳答案 您可以使用Toolhelperlibrary来做到这一点(以及更多相关的事情)(win32)通过进程snapshot然后走路Thread32First/Next. 关于windows-如何使用MFC统计Windows中每个进程的线程数,我们在StackOverflow上找到一个类似的问题: http

c# - 多线程代理检查器

我的代码很少,比如:using(WebClientwc=newWebClient()){wc.Proxy=newWebProxy("IP",Port);resume:if(!wc.IsBusy){stringrtn_msg=string.Empty;try{rtn_msg=wc.DownloadString(newUri("http://google.com/"));}catch(WebException){}catch(Exception){}}else{System.Threading.Thread.Sleep(1000);gotoresume;}}我正在尝试将它与ThreadPo

c# - 如何使用 OnStop 方法终止线程 (C#)

我有一个试图在OnStop方法中停止的线程,有人可以演示如何使用它终止/停止线程吗://////OnStop:Putyourstopcodehere///-Stopthreads,setfinaldata,etc.///protectedoverridevoidOnStop(){base.OnStop();}考虑到,即开始如下://////OnStart:Putstartupcodehere///-Startthreads,getinitaldata,etc.//////protectedoverridevoidOnStart(string[]args){ThreadMyThread=

c++ - Qt - QTcpserver 工作不正常

我正在做一个简单的服务器-客户端应用程序。但是,客户端从服务器端获得了一些未定义的行为。找回错误码后,才知道是服务器断开了连接。这是服务端main.cpp#include#include#include#include#include#includeclassMyMessageBox:publicQMessageBox{public:MyMessageBox(std::stringmessage,QWidget*parent=0):QMessageBox(QMessageBox::NoIcon,QString("ErrorMessage"),QString(message.c_str(

C++/Qt : how to access windows registry remotely?

有没有人知道如何从远程主机的Windows注册表中读取值(假设我有足够的权限)。我的意思是软件/我自己编写的代码。我的工具需要这个,例如获取该机器上已安装软件的列表。在C、C++甚至Qt中这可能吗?我必须使用一些MSDN命令吗?请查看下面的新问题;32位64位问题。 最佳答案 看看RegConnectRegistryMSDN中的函数。这允许您打开远程注册表项的句柄,然后使用标准注册表API与其交互。 关于C++/Qt:howtoaccesswindowsregistryremotely?

c++ - Qt 模型/ View 委托(delegate) : How to simply translate text data?

我使用QSqlTableModel作为数据源并使用QTableView来显示数据。我还使用QDataWidgetMapper以单独的形式编辑数据。我想要做的就是将日期/时间字符串从数据库中的一种格式(2011-07-09T18:21:49)转换为另一种格式以显示在表中(18:21)以及另一种格式编辑映射(09.07.201118:21:49)我认为ItemDelegate是正确的方式,但我不想更改绘画等......我该如何正确地做? 最佳答案 好的,我认为这可能是正确的方法(中间数据模型),但现在我使用了QItemDelegate。

c++ - 当消息循环在另一个线程上时,等到窗口关闭

在一个C++应用程序中,我有一个窗口,其消息循环在单独的线程中运行,因为主线程正忙于计算和渲染模拟。该窗口充当模拟的日志窗口。当模拟抛出异常时,模拟关闭,日志窗口显示详细信息。现在主线程应该等到日志窗口关闭。由于消息循环在单独的线程上运行,因此我尝试WaitForSingleObject(logwindow->thread,INFINITE);来自主线程。但是,这似乎会阻塞消息泵并且日志窗口会卡住。那么我该如何正确地等到窗口关闭或线程结束呢?ED:窗口在主线程上创建,但在不同的线程上运行。我将继续更改它,以便它也在消息循环线程上创建。 最佳答案

c++ - Qt 编译 - 在 Windows 上使用 qmake

我在尝试在Windows下编译Qt程序时遇到了一些麻烦。我在一台工作机器上,所以我试图对我正在安装/设置的东西保持警惕,因为我得到了一个最初要遵循的程序来让它工作(那没有用),所以请保持那种想法。我的开发环境通常是Windows7上的VisualStudio。为了安装Qt,我将一些文件解压缩到C:/Qt并设置我的环境变量来反射(reflect)它。我在VisualStudio中编写了一个简短的示例文件,并且能够对其进行编译;然而,一旦我开始在项目中使用多个文件,事情就变得棘手了。例如:尝试1-只有1个.cpp文件;运行“qmake-tpvcprojectname.pro”然后返回到Vi

c++ - 多线程独立任务

我有N个任务,它们是独立的(即,写入不同的内存地址)但完成时间并不完全相同(比如2到10秒)。我有P个线程。我可以将我的N个任务分成P个线程,然后启动我的线程。最终,在最后,将剩下一个线程来完成最后几个任务,这不是最优的。我还可以启动P个线程,每个线程有1个任务,WaitForMultipleObjects,然后重新启动P个线程等(这就是我目前所做的,因为与任务相比,创建线程的开销很小)。但是,这也没有解决问题,仍然会有P-1个线程在某个时候等待最后一个。有没有办法启动线程,一旦线程完成任务,就继续执行下一个可用任务,直到所有任务完成?谢谢! 最佳答案

c# - 使用多个进程/线程/任务从多个源收集数据

让我们想象一下一组数据源,即几个热传感器或摄像机。我想从奴隶中的这些来源收集数据并传递给主人。效率是运营的关键。我应该使用多进程还是线程/任务?编辑:我忘了提...所有数据源都应该同步服务,同样具有相同的优先级,同时,无论CPU和内存使用情况以及可用的内核数量. 最佳答案 如果您要从多个从站传递到一个主站,请使用线程。这将帮助您共享您的地址空间,并可能使任务更容易实现。如果您有很多从站并且想要最大效率,请使用线程池来为从站资源提供服务。使用多个进程只会增加进程上下文切换的开销,通常比线程上下文切换略多。您还必须管理进程间通信,这通常