I have multiple background workers that all run at the same time and they all need to read values from an observable collection. The observable collection contains data that is populated prior to the background workers being run and the data in it will never change and is never written to by any of the background workers. It contains static data the background workers need to calculate stuff.
Is it thread safe to allow the background workers in their DoWork events to access the local variable in the class that defines and runs the background workers which contains the collection as a property?
I can pass the collection into the background workers via e.Parameter (by adding a property to the object that is being passed in along with other parameters to the dowork event) but is this necessary as no writing is being performed on the collection at any point.