List updation in multi-threaded scenario in java
===

I have a scenario in which I need to do some processing on a very large List (say 9000+) entries and then added the processed entries to a new list. So to do this I am taking multi-threaded approach. 
Among the following two ways, which one would be more efficient:
1> I should give separate list objects to each thread and then add the results from all the threads into one ultimate list.
2> I should use a synchronized list and give allow all the threads to simultaneously add to this list.

