Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Windows.h>
- #include <stdio.h>
- #include <time.h>
- int main() {
- char cmdline1[] = "phil.exe 1";
- char cmdline2[] = "phil.exe 2";
- char cmdline3[] = "phil.exe 3";
- char cmdline4[] = "phil.exe 4";
- char cmdline5[] = "phil.exe 5";
- PROCESS_INFORMATION prosInfo1, prosInfo2, prosInfo3, prosInfo4, prosInfo5;
- STARTUPINFO startUpInfo;
- ZeroMemory(&startUpInfo, sizeof(startUpInfo));
- startUpInfo.cb = sizeof(startUpInfo);
- clock_t t;
- t = clock();
- HANDLE Mutex0 = CreateMutex(
- NULL,
- FALSE,
- TEXT("0"));
- HANDLE Mutex1 = CreateMutex(
- NULL,
- FALSE,
- TEXT("1"));
- HANDLE Mutex2 = CreateMutex(
- NULL,
- FALSE,
- TEXT("2"));
- HANDLE Mutex3 = CreateMutex(
- NULL,
- FALSE,
- TEXT("3"));
- HANDLE Mutex4 = CreateMutex(
- NULL,
- FALSE,
- TEXT("4"));
- if (!CreateProcess(
- NULL,
- cmdline1,
- NULL,
- NULL,
- FALSE,
- 0,
- NULL,
- NULL,
- &startUpInfo,
- &prosInfo1)) {
- printf("%d", 1);
- }
- if (!CreateProcess(
- NULL,
- cmdline2,
- NULL,
- NULL,
- FALSE,
- 0,
- NULL,
- NULL,
- &startUpInfo,
- &prosInfo2)) {
- printf("%d", 2);
- }
- if (!CreateProcess(
- NULL,
- cmdline3,
- NULL,
- NULL,
- FALSE,
- 0,
- NULL,
- NULL,
- &startUpInfo,
- &prosInfo3)) {
- printf("%d", 3);
- }
- if (!CreateProcess(
- NULL,
- cmdline4,
- NULL,
- NULL,
- FALSE,
- 0,
- NULL,
- NULL,
- &startUpInfo,
- &prosInfo4)) {
- printf("%d", 4);
- }
- if (!CreateProcess(
- NULL,
- cmdline5,
- NULL,
- NULL,
- FALSE,
- 0,
- NULL,
- NULL,
- &startUpInfo,
- &prosInfo5)) {
- printf("%d", 5);
- }
- WaitForSingleObject(prosInfo1.hProcess, INFINITE);
- CloseHandle(prosInfo1.hProcess);
- CloseHandle(prosInfo1.hThread);
- WaitForSingleObject(prosInfo2.hProcess, INFINITE);
- CloseHandle(prosInfo2.hProcess);
- CloseHandle(prosInfo2.hThread);
- WaitForSingleObject(prosInfo3.hProcess, INFINITE);
- CloseHandle(prosInfo3.hProcess);
- CloseHandle(prosInfo3.hThread);
- WaitForSingleObject(prosInfo4.hProcess, INFINITE);
- CloseHandle(prosInfo4.hProcess);
- CloseHandle(prosInfo4.hThread);
- WaitForSingleObject(prosInfo1.hProcess, INFINITE);
- CloseHandle(prosInfo5.hProcess);
- CloseHandle(prosInfo5.hThread);
- t = clock() - t;
- printf("%.2f seconds\n", ((float)t) / CLOCKS_PER_SEC);
- CloseHandle(Mutex0);
- CloseHandle(Mutex1);
- CloseHandle(Mutex2);
- CloseHandle(Mutex3);
- CloseHandle(Mutex4);
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement