• Post Reply Bookmark Topic Watch Topic
  • New Topic

Variable increment problem (threads)  RSS feed

 
Naveen Koneti
Greenhorn
Posts: 13
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi All,

I have a problem in my project.Some thing like I will be spawning n number of threads.These threads have a increment two variables x and y.And these threads have to run infinitly each time incrementing and using those variables.After some time I am getting these variables being increments out of sync though i am incrementing them in a syncronized method.
ex: if I give initial variables as x = 100 and y =200.after running the program say after 5 min those variables are becoming something like 144 & 251 but I am expecting them to be 191 & 291.
my method is like this

static long x = 0;
static long y = 0;
public void run()
{
while(true)
{ increment();//increments the variables }
if(someCondition)
{ thread.yield(); return;//terminating execution }
}

static synchronized increment()
{
x++;
y++;
}
 
Ernest Friedman-Hill
author and iconoclast
Sheriff
Posts: 24217
38
Chrome Eclipse IDE Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
They should appear to be in sync to any thread that reads them in a matching synchronized method or block.

Please don't post the same question in multiple forums. I'm going to move this one to the Threads forum and delete the other copy.
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!