Bri*_*ter 2 .net vb.net multithreading list data-structures
我正在使用VB.NET.
我想构建一个大的List(Of MyClassOrStructure),它在初始填充后变为静态.
我将有多个线程需要遍历此列表来读取数据(不写入,插入或删除)
我需要留意哪些非常糟糕的事情需要留意?
谢谢.
如果你只是在阅读,你很好.每个迭代器都将独立于其他迭代器.
如果你曾经想知道为什么IEnumerable<T>界面不直接拥有MoveNext()和 Current,而是必须创建一个IEnumerator<T>实例,这就是为什么-列表本身不守"光标"的说法,其中的迭代器,它在IEnumerator<T>.IEnumerator<T>在线程之间共享值几乎肯定是个坏主意 - 但是你不太可能意外地做到这一点.迭代在多个线程上的自然方式是IEnumerator<T>每个线程有一个,这是安全的(只要你不修改列表).
| 归档时间: |
|
| 查看次数: |
633 次 |
| 最近记录: |