I have few ArrayList containing user defined objects (e.g. List, List). The objects are immutable in nature
ArrayList
List, List
Yes, you should be able to pass the array into each thread. There should be no access errors so long as the array is finished being written to before any thread is possibly getting the information.