Revision 5a21da3b72efd44377f9d4b1a214c8186bac5df3 authored by Rene Brun on 05 March 2004, 07:47:40 UTC, committed by Rene Brun on 05 March 2004, 07:47:40 UTC

git-svn-id: http://root.cern.ch/svn/root/trunk@8328 27541ba8-7e3a-0410-8455-c3a389f83636
1 parent ddc68ca
Raw File
threads.C
//example of a simple script creating 3 threads
//this script can only be executed via ACLIC .x threads.C+
//before executing the script, load the Thread library with
//  gSystem->Load("libThread");
   
#include "TThread.h"
#include <Riostream.h>

void* handle(void* ptr) {
  int nr = (int) ptr;

  for (Int_t i=0;i<10;i++) {
    TThread::Lock();
    printf("Here I am loop index: %3d , thread: %d\n",i,nr);
    TThread::UnLock();
    sleep(1);
  }
  return 0;
}

void threads() {
  gDebug = 1;

  printf("Starting Thread 1\n");
  TThread *h1 = new TThread("h1", handle, (void*) 1);
  h1->Run();
  printf("Starting Thread 2\n");
  TThread *h2 = new TThread("h2", handle, (void*) 2);
  h2->Run();
  printf("Starting Thread 3\n");
  TThread *h3 = new TThread("h3", handle, (void*) 3);
  h3->Run();
}
back to top