草庐IT

栈队列

全部标签

c++ - 使用 OpenGL 渲染时 Win32 消息队列被淹没

我围绕一个称为GLWindow的类封装了WindowsAPI的CreateWindow,我使用OpenGL向其渲染图像。我花了一些时间,我什至封装了消息队列,所以基本上我的main函数看起来是这样的:intmain(){GLWindowwin;win.create("OpenGLWindow",false,1600,800,-1,-1,true);win.hideCursor();win.moveMouseToCenter();init();//initializesomeopenglstuffboolquit=false;WindowEventev;while(!quit){if(w

c++ - 在控制台应用程序中与空的 Windows 消息队列作斗争

在下面的(可编译的)示例中,我试图在普通控制台应用程序中监听Windows消息队列,以便接收有关USB设备连接/断开连接的通知。我从这里获取示例代码:DetectingUSBinsertion/RemovalinC++non-GUIapplication但是,在while子句中对GetMessage的调用永远不会返回,因为显然Windows不会向我的队列发送任何消息。我究竟做错了什么?这与UIPI有什么关系吗?我不经常使用MFC/WinAPI,所以请详细回答您的问题。#defineANSI#defineWIN32_LEAN_AND_MEAN#define_WIN32_WINNT0x05

c++ - 如何判断一个线程是否有消息队列?

有什么方法可以通过threadId判断一个线程是否有消息队列?基本上有一些windowsapi只有在线程有消息queue.window时才工作 最佳答案 您可以使用带有线程ID的PostThreadMessage。如果PostThreadMessage返回false且GetLastError返回ERROR_INVALID_THREAD_ID,则线程ID无效或线程没有消息队列。更多信息http://msdn.microsoft.com/en-us/library/ms644946(VS.85).aspx

c# - 创建一个队列来处理由 FileSystemWatcher 触发的作业

我构建了一个小型托盘应用程序,它将监视一个文件夹,并在添加新文件时运行一个作业。工作是观看视频文件并使用handBrakeCli将它们转换为.mp4。我已经解决了所有这些逻辑。我遇到的问题是,如果有多个文件,我希望它对作业进行排队,直到前一个文件完成。我是c#的新手,我不确定处理这个问题的最佳方法。一个想法是以某种方式创建一个队列,一个文件来按顺序存储命令,然后在过程完成后执行下一个命令。我们在这里处理大型电影文件,因此可能需要一段时间。我在具有8gbRAM的四核上执行此操作,似乎通常需要大约30分钟才能完成一部完整的电影。我只是不知道该怎么做。这是我目前的代码。这里有一些用于futu

c++ - 我如何在基于消息队列的Windows应用程序上使用谷歌测试?

我想对我的程序使用谷歌测试,它里面有定时器功能。定时器由windows的SetTimer()实现,在main()中有一个消息队列来处理超时消息。while(GetMessage(&msg,NULL,0,0)){if(msg.message==WM_TIMER){...}DispatchMessage(&msg);}对于google测试,它调用RUN_ALL_TESTS()开始测试。intmain(intargc,char*argv[]){testing::InitGoogleTest(&argc,argv);returnRUN_ALL_TESTS();}我的问题是如何整合这两个部分。因

c# - MSMQ 中的多个队列(性能下降)

当我使用10个队列而不是1个队列时,为什么MSMQ的性能下降(~三分之一)?简而言之,当我在多线程应用程序中使用超过1个队列(从不同线程中的每个队列接收)时,MSMQ性能会大幅下降。这就像.NET中的MSMQ类有一个共享资源,随着队列数量的增加而缩小。顺便说一句,我在VisualStudio2010中使用Windows7进行这些测试。注意:我有1个队列用于在2个应用程序之间进行通信。我只需要使用可恢复模式。它工作正常,直到遇到100-150条消息/秒的限制。然后我想我可以通过将队列数量增加到10并并行处理它们来提高处理能力。但是当我收到时,时间增加了近3倍!:O我使用C#编写了我的应用

c# - 即使队列已重命名,如何在 Windows 上唯一标识打印队列?

如何唯一可靠地识别给定服务器上的Windows打印队列,包括跨打印队列重命名?我想处理如下情况:Jdoe创建打印机A我的程序在某个时候收集了打印机A的信息Jdoe将打印机A重命名为打印机AA我的程序在某个时候再次收集有关打印机AA的信息如何判断打印机A和打印机AA是同一台打印机(名称已更改)?我想在支持WindowsXP/2003及更高版本的C#中执行此操作。我尝试过的事情:在Windows8/Server2012上,我似乎可以通过WMI查看CIM_LogicalDevice->DeviceID来执行此操作,这似乎在重命名过程中保持一致,但在早期版本的操作系统中,此属性仅包含队列名称并

windows - 我将如何在后台运行 Laravel 5.2 的队列监听器?

在我的项目中,我使用数据库队列并使用命令执行此队列phpartisan队列:监听在composer中,它正在工作。但是在我的Windows服务器中,有很多项目使用队列,所以打开了很多Composer窗口。很不方便。是否可以在不打开Composer窗口的情况下在后台运行此命令? 最佳答案 您可以使用该命令,但它只会在您注销或重新启动之前起作用nohupphpartisanqueue:work--daemon&尾随符号(&)导致进程在后台启动,因此您可以继续使用shell而不必等到脚本完成。参见nohupnohup-runacomman

.net - 如何在 Windows 上查询打印队列

我们正在开发一个关键应用程序,需要对打印的文档进行最好的控制。为了确定哪些文档被打印或不被打印,我们需要检查打印机队列。我们如何在Windows上查询打印队列(状态、队列列表、错误...)? 最佳答案 EnumPrinters获取打印机列表,EnumJobs获取该打印机的作业列表。GetJob获取有关特定工作的信息和SetJob更改该作业的设置(暂停或取消它)。在PrintingandPrintSpoolerReferences中查看更多信息..NET有PrintQueue和PrintServer类。

Rabbitmq消息队列详解

文章目录1.MQ(MessageQueue)简介2.MQ的功能2.1流量削峰2.2应用解耦2.3异步处理3.RabbitMQ简介4.RabbitMQ架构模型(4大核心组件)5.RabbitMQ的工作原理6.RabbitMQ的安装6.1安装docker环境6.2安装RabbitMQ7.Rabbitmq的常用命令8.Rabbitmq的六种工作模式9.simple简单模式9.1simple简单模式概念9.1生产者9.2消费者10.work工作模式10.1work工作模式的概念10.2工作队列模式的原理10.3工作队列的实现11.消息应答机制11.1消息应答的概念11.2消息应答的两种模式11.2.1