Updating object with multiple threads without synchronization java
I'd like to be able to stop the serverside loop from starting the next thread, at least until the check File method is complete for one file/thread.But I still might run into problems after the initial stage, when all the treads are running at the same time.It's possible to build and run decent applications this way, but you can do better.
You could consider these "thread-local" copies of variables to be similar to a cache, helping the thread avoid checking main memory each time it needs to access the variable's value.However when looking at the Array List which is static and volatile all the object attributes are set as null. If you do not synchronize properly, one thread won't always see the changes made by another one.My thoughts are something to do with the garbage collector removing the instances in the threads so once the threads have finished there is no reference to them. Listing 1 shows calls to generate both a synchronized method and a synchronized block: Creating the synchronized block yielded 16 lines of bytecode, whereas synchronizing the method returned just 5.If you want to maintain a single instance of a variable for all instances of a class, you will use static-class member variables to do it.