コード例 #1
0
ファイル: Test_Event.cpp プロジェクト: rusamentiaga/LibAC
int _tmain(int argc, _TCHAR* argv[])
{
	try
	{
		AC::Event Event(FALSE, TRUE);

		AC::Thread Thread1(new WaitEvent(Event));
		Thread1.Start();

		AC::Thread Thread2(new WaitEvent(Event));
		Thread2.Start();

		Sleep(2000);

		Event.SetEvent();

		Thread1.Wait();
		Thread2.Wait();

		std::vector<HANDLE> Objects;
		Objects.push_back(Thread1);
		Objects.push_back(Thread2);
		Objects.push_back(Event);

		int ret = WaitForMultipleObjects(Objects.size(), &Objects[0], TRUE, INFINITE);
		assert(ret == WAIT_OBJECT_0);
	}
	catch(std::exception& ex)
	{
		fprintf(stderr, "Exception: %s\n", ex.what());
	}

	return 0;
}
コード例 #2
0
ファイル: race_on_barrier2.c プロジェクト: rgmabs19357/gcc
int main() {
  pthread_barrier_init(&B, 0, 2);
  pthread_t t;
  pthread_create(&t, NULL, Thread1, NULL);
  Thread2(0);
  pthread_join(t, NULL);
  return 0;
}
コード例 #3
0
ファイル: race_on_barrier.c プロジェクト: rgmabs19357/gcc
int main() {
  pthread_t t;
  pthread_create(&t, NULL, Thread1, NULL);
  Thread2(0);
  pthread_join(t, NULL);
  pthread_barrier_destroy(&B);
  return 0;
}
コード例 #4
0
ファイル: free_race.c プロジェクト: 32bitmicro/compiler-rt
int main() {
  mem = (int*)malloc(100);
  pthread_mutex_init(&mtx, 0);
  pthread_t t;
  pthread_create(&t, NULL, Thread1, NULL);
  Thread2(0);
  pthread_join(t, NULL);
  pthread_mutex_destroy(&mtx);
  return 0;
}