I have a rather large program and as such just going to simplify a bit.
So I have a List (Of Entity), Entity being a custom class with heaps of properties. I have a 1ms timer, which constantly updates this list. In the timer it creates a temporary list from the external source, and if that list is different to the current list, updates the main list.
Now this is where it gets slow, I think. I have A LOT of threads, one for each property of the class which constantly updates that property (the values come externally) and I stop them all, otherwise whilst the list gets updated it will throw all kinds of errors. Then I update the main list with the temp list, and then create new threads again e.g.
Prop1Thread = New Thread(AddressOf UpdateProp1)
and start them all again.
Pretty much is there a better method I could use? The properties have to be updated in different threads, otherwise it destroys performance. I can't change the way I get the list of entities either. I just really need a better way of handling the updating of the properties of the changing list of Entities.