+ 1
How to modify, search and add to a collection in a thread-safe way
I have two threads using one collection. Thread 1 : add's elements to the collection Thread 2 : seraches and modfies the collection. Sometimes I get this error. Collection was modified; enumeration operation may not execute. Which means that Thread 1 tries to add something and Thread 2 want to search the collection for a specific element at the same time. How can I prevent this error from happening
3 Antworten
+ 1
You can use Thread.Join(). It will block current calling thread until the thread calling Join() is completed, so the thread called Join() will definitely be completed in the moment.
Example:
https://code.sololearn.com/cdGHQSFU1Vof/?ref=app
0
I recommend that you use Task.
0
I do not start the threads myself. It is a timer that fires a Timer_Tick event and another event with various time interval. Most of the time these two event do not fire exact at the same time. When they do I get this error.
CarrieForle How can I know the name of the thread ?
hossein B How can I use Task ?
This my code, it does not work in the playground. It does show what I want to achieve.
https://code.sololearn.com/c96u4wpPzYjW/?ref=app