使两个程序同时运行(createprocess)

时间:2017-05-01 09:09:42

标签: c createprocess preemptive

我想通过同时运行两个进程来模拟抢占。 假设我有程序A运行

while(1){
   printf("A\n");
}

和程序B运行

while(1){
   printf("B\n");
}

我想要做的是让程序显示(或至少模拟)抢先工作的方式,所以我希望.exe看起来或多或少像这样

A
A
A
B
B
A
A
...

以下是我目前的代码

#include <windows.h>
#include <stdio.h>
#include <tchar.h>

void _tmain( int argc, TCHAR *argv[] ){
   STARTUPINFO si;
   PROCESS_INFORMATION pi;

   ZeroMemory( &si, sizeof(si) );
   si.cb = sizeof(si);
   ZeroMemory( &pi, sizeof(pi) );

   if(CreateProcess
   (TEXT("c:\\C\\Osenshuu\\create_process_a.exe"), 
   NULL, 
   NULL,
   NULL,
   FALSE,
   0,
   NULL,
   NULL,
   &si,
   &pi)){ 
      WaitForSingleObject(pi.hProcess,INFINITE);
      CloseHandle(pi.hThread);
      CloseHandle(pi.hProcess);
   } 

else{
    printf("The process could not be started...");
    }
}

显示A程序效果很好但现在我想知道如何将b.exe添加到该createprocess以使程序A和B同时运行?它甚至可以做到吗?

0 个答案:

没有答案