|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.10.2011, 18:08 | #1 |
Пользователь
Регистрация: 19.12.2010
Сообщений: 13
|
Потоки и listview
ребят подскажите пожалуйста
в общем надо сделать сканер портов с помощью потоков я создаю 10 потоков и каждому из них назначаю по 1/10 от общего количества портов for (int i = firstpoin; i < (firstpoin+10); i++ ) { new_thread = new Thread(new ThreadStart(new Worker(i,this).DoWork)); new_thread.Start(); new_thread.IsBackground = true; } firspoint - начальное значение порта передаю начальное значение для каждого потока в переменнную i (то есть для потока - начальний порт 401 для второго -402 и т д) затем непосредственно сканирую порты и устанавливаю интервал в цикле 10 for (i = v; i <= lastpoin; i+=10) {} lastpoint - конечное значение порта то есть 1 поток - 401 411 421 и т д затем чтобы вывести все это хозяйство в listview определяю индекс массива index2 = i - firstpoin; s2 = "Порт " + i.ToString(); form1.BeginInvoke(form1.m_GetCloseP orts, new Object[] { s2,index2}) и функция вывода в listview1 public void GetClosePorts(string s, int index2) { try { lock (listView1) { listView1.Items.Add(s); } lock (listView1) { listView1.Items[index2].SubItems.Add(" закрыт"); } listView1.Items[index2].BackColor = Color.Bisque; progressBar1.Value += 1; } catch (ArgumentOutOfRangeException e) {} } Проблема в том что при выводе с каждым потоком становится на 1 запись меньше Порт 401 - закрыт Порт411- - закрыт Порт 421 - закрыт Порт 431 - закрыт Порт 441 - закрыт Порт 451 - закрыт Порт 461 - закрыт Порт 471 - закрыт Порт 481 - закрыт Порт 491 - НИЧЕГО НЕТ Порт 402 - закрыт Порт 412- - закрыт Порт 422 - закрыт Порт 432 - закрыт Порт 442 - закрыт Порт 452 - закрыт Порт 462 - закрыт Порт 472 - закрыт Порт 481 - НИЧЕГО НЕТ Порт 492 - НИЧЕГО НЕТ И т д |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как перетащить элемент ListView в другой ListView? | Paul Hindenburg | Компоненты Delphi | 5 | 26.01.2013 11:35 |
Потоки С++ | Aleksin | Помощь студентам | 1 | 07.11.2010 18:15 |
Потоки | Aleksey1989 | Помощь студентам | 2 | 27.10.2010 10:07 |
[C# + WPF] ListView. Узнать выделена ли строка в нём. ListView.View == GridView. | Casper-SC | WPF, UWP, WinRT, XAML | 2 | 12.08.2010 19:04 |