#include using std::cout; using std::endl; #include #include #include #include #include "TParticle.h" #include "TClonesArray.h" pthread_mutex_t rootm = PTHREAD_MUTEX_INITIALIZER; void* a_func(void* aVal) { TClonesArray* ca=new TClonesArray("TParticle",1000); for(int i=0;i<50;++i){ // adding this mutex doesn't help // if(pthread_mutex_lock(&rootm)==0){ new((*ca)[i]) TParticle(); // pthread_mutex_unlock(&rootm); // } } cout<<"exiting thread "<GetEntries()<Clear("C"); delete ca; //pthread_mutex_unlock(&rootm); // } //ca->Clear("C"); return (void*)NULL; } int main(int argc,char** argv) { if ( argc<2 ) { cout<<"usage: "<