#include "stdafx.h"
#include <Windows.h>
#include <conio.h>
#include <fstream>
#include <iostream>
using namespace std;
int main (int, char **)
{
HANDLE mutex = CreateMutex(NULL, FALSE, L"PRV");
for (int j=0; j < 100; ++j)
{
WaitForSingleObject(mutex, INFINITE);
ofstream file("c:\\write.txt", ios::app);
for (int i=0; i < 10; ++i) {
file << 1;
}
ReleaseMutex(mutex);
Sleep(100);
}
CloseHandle(mutex);
}
創建4個pograms與file << 1
...... file << 4
和他們的作品,但我需要一個循環型排序。或者,至少,沒有連續兩次寫入一個進程。如何在互斥體中進行循環類型排序?
在[這個答案](http://stackoverflow.com/a/9036076/1168156)到你以前的問題André已經告訴你如何通過使用名稱互斥來同步進程,但是你確定它是你想要的嗎?我想如果你只是在同一個進程中創建4個線程將會容易得多。 – LihO 2012-01-27 18:45:46
@Artem:您可能想要指定「程序」實際上是單獨的進程。這將有助於人們提供更合適的答案。 – 2012-01-30 16:37:37