Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Новичкам: MultiThreading Добавлено: 05.03.10 11:31  

Автор вопроса:  EROS
Наткнулся в инете на стаью, в которой автор очень доходчиво разъясняет некоторые аспекты построения мультипоточных приложений:
1) Что такое поток?
2) Когда имеет смысл использовать потоки? Увеличится ли быстродействие многопоточной программы на одноядерном процессоре?
3) Зачем нужна синхронизация данных в потоках?
4) Как сделать синхронный доступ к данным.
5) Нужна ли синхронизация в однопроцессорных системах?
6) Зачем нужен Invoke в WinForms?
7) Ожидание завершения множества потоков
8) Как принудительно завершить поток?
9) Обработка ошибок в потоке
10) Накладные расходы на поток
11) Особенности пула потоков

Для тех, кто хочет стать джедаем - весьма рекомендую ознакомиться.. Очень поможет для понимания сути бытия...

http://forum.antichat.ru/showthread.php?t=169454

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #1 Добавлено: 09.03.10 01:52
И хоть бы один поблагодарил :).
Спасибо ЕRОS, полезная статейка, хотя я всё равно не понял, почему мой мультитрэдинг изредка и непредсказуемо вылетает.
Видимо несудьба в вб6 создать стабильный поток.

Ответить

Номер ответа: 2
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #2 Добавлено: 09.03.10 08:01
в вб6 создать стабильный поток.

Ну все уже давно отказались от этой затеи )) Ты, видимо, последний кто предпринимает попытки ))

почему мой мультитрэдинг изредка и непредсказуемо вылетает

Скорее всего это происходит при передачи данных из дополнительного потока в основной.. в НЕТ это решается через делегатов и Invoke, а вот как в VB6 - загадка..

Ответить

Номер ответа: 3
Автор ответа:
 Дмитрий Юпатов



Вопросов: 4
Ответов: 457
 Web-сайт: cargomaster.at.ua/
 Профиль | | #3
Добавлено: 09.03.10 13:05
Пасибки :) Аналогия с тетей Глашей улыбнула. Так все кладовщики работают :)

Ответить

Номер ответа: 4
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #4 Добавлено: 09.03.10 18:57
EROS пишет:
Скорее всего это происходит при передачи данных из дополнительного потока в основной.. в НЕТ это решается через делегатов и Invoke, а вот как в VB6 - загадка..

О_О
При чем тут Invoke?
Invoke запускается в том же потоке.

Если ты про Control.Invoke, то он, насколько я помню, работает через SendMessage, следовательно, в VB6 реализуется аналогичным образом.

По пулу потоков довольно слабо написано, вместо синтетического примера с Sleep, который в сценарии пула вообще нельзя использовать (поскольку при этом на определенное время блокируется один из потоков пула, который мог использоваться для другой задачи) лучше бы привели пример асинхронного IO с использвоанием пула

Ответить

Номер ответа: 5
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #5 Добавлено: 09.03.10 19:16
Когда в цикле потока использую SendMеssage прога стабильно рушится на старте, а обращение к List.Аdd работает, но изредка вылетает.
Как определить причину краша?

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам