	/*Racing example*/
#include<iostream>
#include<boost/thread.hpp>
#include<boost/atomic.hpp>


using namespace std;
using namespace boost;


//afou valame to atomic
//int counter=0;
boost::atomic<int> counter(0);//yparxei kai standard atomic opote diefkrinizo poia thelo na xrisimopoiiso 
//                            giafto einai kalytera na xrisimopoio ena namespace
void worker()			{

   for (int i=0; i<10000; i++)  { 
	counter++;
   				}

   				}

int main()
	  {
	  
  thread *t1= new thread(worker);
  thread t2(worker);
  thread *t3= new thread(worker);
  thread *t4= new thread(worker);

    t1->join();
    t2.join();
    t3->join();
    t4->join();
    cout<<"Final counter="<<counter<<endl;
    return 0;

	   }
