#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