bonjour à tous,

J’ai un programme lance avec un thread en pause avec une mutex bloquer.
J’ai un second programme qui va débloquer le thread de l’autre programme

Voici le code du premier programme lancé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include "stdafx.h"
#include <windows.h>
#include <iostream>
 
using namespace std;
 
HANDLE mut;
char text[5000];
 
unsigned long WINAPI Thread_mutex (void * Param)
{
	cout << " lencement thread  \n" ;
	cout << " WaitForSingleObject thread \n" ;
        WaitForSingleObject(mut,INFINITE);
	cout << " WaitForSingleObject thread  effectué\n" ;
	cout << " traitement de la thread\n" ;
	cout << " ReleaseMutex thread \n" ;
	ReleaseMutex(mut);
	cout << " ReleaseMutex thread effectué\n\n" ;
    return 3;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
	HANDLE hThread[1];
	unsigned long ThreadId;
	cout << "\n\n\ncreation de mutex(CreateMutex)" << endl;
	mut=CreateMutex(NULL,FALSE,(LPCWSTR)"mutex");
        WaitForSingleObject(mut,INFINITE);
	cout << "main: creation de 1 threads (CreateThread) avec mutex" << endl;
	hThread[0] = CreateThread(NULL,NULL,Thread_mutex,NULL, NULL, &ThreadId);
	cout << "ID1 : " << ThreadId << "\n" << endl;
	cout << "attente de tout les threads (WaitForMultipleObjects)" << endl;
	WaitForMultipleObjects(1, hThread, TRUE, INFINITE);
	cout << "fermeture mutex(CloseHandle)" << endl;	
        CloseHandle(mut);
	cout << "fin" << endl;
	system ("pause");
	return 0;
}
Et voici le code du second programme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
#include "stdafx.h"
#include <windows.h>
#include <iostream>
 
using namespace std;
 
HANDLE mut;
 
int _tmain(int argc, _TCHAR* argv[])
{
	cout << "\n\n\ncreation de mutex(CreateMutex)" << endl;
	mut=CreateMutex(NULL,FALSE,(LPCWSTR)"mutex");
	cout <<  " ReleaseMutex thread \n"  ;	
	ReleaseMutex(mut);
	system ("pause");
	return 0;
}
Et sa fonctionne pas !
Est-ce que mon résonnement et bon ? et ou est les problème des mon code pour que sa fonctionne pas ??

merci d'avance
lermit