草庐IT

【JavaEE】进程和线程

全部标签

C++ 将对象传递给线程

我有一个关于我不太理解的行为的问题:我有两种C++代码:CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)clientThread,(LPVOID)connectionSocket,0,NULL);主题:Clienta;a.clientsocket=connectionSocket;a.testText()a.sendSocket();工作正常(sendSocket向套接字发送一些测试数据)。但是如果我这样做Clienta;a.clientsocket=connectionSocket;CreateThread(NULL,0,(LPTHREAD_S

c++ - QProcess::terminate() 不适用于简单的 Qt 应用程序作为 Windows XP 下的子进程

首先,我将从QProcess对象开始的简单Qt应用程序:#includeclassLOLProcess:publicQMainWindow{Q_OBJECTpublic:LOLProcess(QWidget*parent=0);~LOLProcess();protected:voidcloseEvent(QCloseEvent*);};LOLProcess::LOLProcess(QWidget*parent):QMainWindow(parent){}LOLProcess::~LOLProcess(){qDebug()现在,带有QProcess对象的Qt应用程序:#includecl

windows - 在 Azure Web 角色中创建线程

我需要在我的AzureWeb角色上创建计划任务。删除SQLAzure数据库中的条目的小人。我想到了Quartz.net。但是我没有找到任何方法在我的AzureWeb角色上创建线程。如何在我的AzureWeb角色上创建线程?谢谢! 最佳答案 根据您的用例,您可以设置一个startuptask(例如独立安装quartz.net和您想要定期运行的所需代码)或从RoleEntryPoint.OnStart启动一个任务/线程/嵌入式quartz.net实例。另请查看许多相关问题,例如thisone,以确定在WebRole的IIS中运行、在We

c++ - 在 64 位 Windows 中 Hook 32 位进程

我在window764位上使用键盘钩子(Hook)时遇到问题。我做这些事情:1.创建一个32位的dll2.加载到应用程序并设置WindowHookEx我已经成功连接到32位应用程序(Y!M、Skype...),但是当我连接到我的桌面或任何64位应用程序(记事本)时,该应用程序会卡住,直到我停止我的连接应用程序。我创建64位dll,在上面做同样的事情,并在32位进程中遇到同样的问题。所以,我认为问题出在我的32位dll中,无法注入(inject)到64位进程中。但是我不知道如何在窗口关注它时注入(inject)64位dll来处理。我想知道有什么方法可以做到,以及如何去做。或者我可以只Ho

windows - 通过 ssh 和进程所有权启动独立的批处理文件

我过去曾使用批处理文件处理很多事情...但我一直遇到这个问题。很抱歉,如果这是一个重复的问题,我不完全确定我知道如何用它来表达搜索目的。问题是这样的:1)批处理文件启动一些进程。2)命令窗口被用户关闭。3)由批处理文件启动的进程结束。我想这是因为批处理文件“调用”了启动的进程,因此它是子进程。具体来说,我想做的是通过ssh登录服务器,运行位于该服务器上的批处理文件,然后启动一个java程序。我需要批处理保持打开状态,或者允许Java程序以某种方式拥有自己。这样,当我离开SSHsession时,程序将继续运行。我有什么想法可以做到这一点吗?我正在使用MobaSSH运行WindowsXPx

c++ - 远程线程的 DuplicateHandle 失败,错误为 ERROR_INVALID_HANDLE

您好,我试图挂起一个远程线程,但在途中我偶然发现DuplicateHandle失败并出现错误6,ERROR_INVALID_HANDLE。下面的方法适用于当前进程,但如果给出了像“calc”(在同一主机中)这样的远程进程,则DuplicateHandle会失败。进程以Adminpriv运行,SeDebugPriv和SeSecurityPriv被授予(ProcessExplorer确认),但没有用。任何的想法?`boolDbgHelpWrapper::GetThreadStartAddress(IntPtrprocessHandle,DWORDprocessId,DWORDthreadI

c++ - 加入和终止 Windows 线程

我正在尝试使用Windows线程创建一个线程,如下所示:HANDLEhUSBPollThread=CreateThread(NULL,NULL,USBCan::CreateUSBPollLoop,(LPVOID)this,0,&outThreadID);但是我找不到任何函数来从线程外部加入或终止线程。谁能指出我正确的方向? 最佳答案 如果你在外部终止线程,你怎么能确定没有资源泄漏,没有同步对象被锁定?是的,你可以用TerminateThread杀死线程但你不应该这样做。您要做的是:您发出一个内部事件信号,表示您要终止线程操作,线程p

windows - NodeJS子进程PID与真实进程不符

我正在使用Windows,我正在做这个实验,console.log(_.process.exec("mongod--dbpath.--port8083--bind_ip127.0.0.1").pid);问题是,当我执行任务列表命令时,该输出中的PID指向命令提示符任务而不是mongod.exe任务。有没有办法获取mongod.exe任务的真实PID? 最佳答案 那是因为mongod是cmd的子进程,而tasklist不打印子进程id.给定一个父进程ID,您可以得到一个wmiquery的子进程列表:wmicprocesswhere(P

windows - VBA:将多个 Word 文件合并为一个文件后,Microsoft Word 进程不会退出

我正在尝试将多个Word文件合并为一个。我在MSExcel的VBA例程中执行此操作。Word文件都在名为“files”的文件夹中,我想在其上一级文件夹中创建一个新文件“combinedfile.docx”。我面临的问题是关于Word进程在合并文件后的行为方式(无论它在执行VBA函数后是否退出)。在一些机器上,这个过程工作正常(除了它有第2页和最后一页为空白),而在其他一些机器上,合并的文档包含一个空白页面并且进程管理器显示由VBA函数启动的Word进程仍然运行。我不习惯VBA编程,正如您在下面的代码中看到的,我不知道关闭打开的文档和退出打开的Word进程的正确方法。如果有人可以看看我所

windows - Sox --多线程选项 : Split stereo wav file to 2 mono files Windows Line command

我已经在Windows命令行中编写了一个批处理程序来获取立体声wav文件,并使用soxv.14.4.0音频程序将左右声道拆分为单独的FLAC文件。像这样..for/r%%nin(*.wav)do(C:\sox\sox.exe%%n-c1%%n.left.flacremix1C:\sox\sox.exe%%n-c2%%n.right.flacremix2)但是,这比我希望的要长一些。我对此进行了更多研究,看来我可以使用SOX_OPTS和--multi-thread选项以及--buffer来同时执行两个sox操作。Sox文档说明了这一点:SOX_OPTS环境变量可用于为SoX的全局选项提供