On Jan 9, 2014, at 12:07 PM, Tristan Yan <tristan....@oracle.com> wrote:

> Thank you Paul
> 
> I change turn to local variable as well.
> 
> http://cr.openjdk.java.net/~tyan/JDK-7027502/webrev.03/
> 
> I am not sure I understand your second suggestion here,  sum up thread_turns 
> of each Context(This is a fixed value) doesn't equal total_turns_taken.
> 

The suggestion (feel free to ignore it!) was to take the local variable:

 161         int turns_taken       = 0;

and move it to a field on Context. 

Then in the synchronized block of the main loop sum 'em up. e.g.:

  List<Context> cs = ;
  ...
  int current_total_turns_taken = cs.stream().mapToInt(c -> 
c.turns_taken).sum();

Obviously that is less efficient but it does separate concerns.

Paul.

Reply via email to