Коллекция SortedList в потоке - C#
Формулировка задачи:
Добрый день. Подскажите пожалуйста
Можно ли использовать значение коллекции SortedList из разных потоков?
Если можно приведите пожалуйста пример, или ссылку на статью как это сделать.
С уважением, Александр.
Решение задачи: «Коллекция SortedList в потоке»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Threading; public class Example { static SortedList<string, string> openWith = new SortedList<string, string>(); static object lock0 = new object(); static object lock1 = new object(); static object lock2 = new object(); public static void Main() { openWith.Add("txt", "notepad.exe"); openWith.Add("bmp", "paint.exe"); openWith.Add("dib", "paint.exe"); openWith.Add("rtf", "wordpad.exe"); openWith["test"] = "1"; ThreadPool.QueueUserWorkItem(Potok1, ""); ThreadPool.QueueUserWorkItem(Potok2, ""); int ii = 0; while (true) { ii++; string ss=ii.ToString(); lock (lock0) { openWith["test"]=ss; } Console.WriteLine("==== " + ss); Thread.Sleep(555); } } private static void Potok1(object state) { while (true) { string ss; lock (lock1) { ss = openWith["test"]; } Console.WriteLine("поток 1 " + ss); Thread.Sleep(333); } } private static void Potok2(object state) { while (true) { string ss; lock (lock2) { ss = openWith["test"]; } Console.WriteLine("поток 2 " + ss); Thread.Sleep(777); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д