Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поток самоуничтожается? после вып-я переданной ему ф-ии 
:(
    Опции темы
СерегаГоляков
Дата 4.4.2011, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Всё супер :)
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 26.4.2010
Где: НСК

Репутация: нет
Всего: нет



В поток передается ф-я.
Ф-я вычисляется дойдя до своего конца.
ф-я завершается и поток сам уничтожается?
Код

  Thread t = new Thread(WriteY);
    t.Start();            // Выполнить WriteY в новом потоке 

  


Это сообщение отредактировал(а) СерегаГоляков - 4.4.2011, 11:00
--------------------
Список всех полезных программ в ОДНОЙ программеhttps://sites.google.com/site/coolprogramms...latnyh-programm...Пьяные белазисты в карьереhttp://www.youtube.com/watch?v=6FGNGMwxJZ4
PM WWW   Вверх
AntonSaburov
Дата 4.4.2011, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 118



Когда gc его обработает - так и уничтожится.
PM MAIL WWW ICQ   Вверх
WolfTheGrey
Дата 4.4.2011, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 21.1.2009
Где: forum.vingrad.ru

Репутация: нет
Всего: 2



да, поток заканчивает свою жизнь и попадает в мусорную корзину.
Много людей пытались поток реанимировать, передав ему новые задачи. Но все пытания были тщетны. К тому моменту поток был мертв.

Есть только один способ как законсервировать поток: запустить в нем бесконечный цикл, который прерывается в ожидании новых даных.
PM MAIL   Вверх
azesmcar
Дата 4.4.2011, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 6
Всего: 211



Цитата(WolfTheGrey @  4.4.2011,  17:19 Найти цитируемый пост)
Много людей пытались поток реанимировать, передав ему новые задачи. Но все пытания были тщетны. К тому моменту поток был мертв.

ThreadPool его реанимирует.

PM   Вверх
-Mikle-
Дата 4.4.2011, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 17
Всего: 59



Цитата(azesmcar @  4.4.2011,  20:25 Найти цитируемый пост)
ThreadPool его реанимирует

Он его не реанимирует, не путайте человека... ThreadPool умеет создавать потоки и держать их в открытом состоянии, пока есть вероятность, что они еще нужны. После простоя потока, он уничтожает его. Подробнее о его работе можно найти в интернете.


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
СерегаГоляков
Дата 4.4.2011, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Всё супер :)
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 26.4.2010
Где: НСК

Репутация: нет
Всего: нет



Всем спасибо smile
--------------------
Список всех полезных программ в ОДНОЙ программеhttps://sites.google.com/site/coolprogramms...latnyh-programm...Пьяные белазисты в карьереhttp://www.youtube.com/watch?v=6FGNGMwxJZ4
PM WWW   Вверх
azesmcar
Дата 4.4.2011, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 6
Всего: 211



Цитата(-Mikle- @  4.4.2011,  18:20 Найти цитируемый пост)
Он его не реанимирует, не путайте человека... ThreadPool умеет создавать потоки и держать их в открытом состоянии, пока есть вероятность, что они еще нужны. После простоя потока, он уничтожает его. Подробнее о его работе можно найти в интернете. 

Цитата(WolfTheGrey @  4.4.2011,  17:19 Найти цитируемый пост)
Много людей пытались поток реанимировать, передав ему новые задачи.

слово "реанимация" здесь была использована в контексте передачи потоку новой задачи. Перефразировать можно так: используйте ThreadPool чтобы избежать оверхэда на ненужное удаление и создание потоков.

Цитата(-Mikle- @  4.4.2011,  18:20 Найти цитируемый пост)
После простоя потока, он уничтожает его.

Не все, количество потоков, равное минимальному всегда остаются в пуле. Уничтожаются по таймауту "лишние".

Это сообщение отредактировал(а) azesmcar - 4.4.2011, 20:42
PM   Вверх
WolfTheGrey
Дата 5.4.2011, 03:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 21.1.2009
Где: forum.vingrad.ru

Репутация: нет
Всего: 2



А Джеффри Рихтер писал: что Пулами лучше не баловаться. точно не помню почему, а в кратце - они сильно кушают процессорное время.
PM MAIL   Вверх
azesmcar
Дата 5.4.2011, 08:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 6
Всего: 211



Цитата(WolfTheGrey @  5.4.2011,  03:53 Найти цитируемый пост)
А Джеффри Рихтер писал: что Пулами лучше не баловаться. точно не помню почему, а в кратце - они сильно кушают процессорное время. 

Это где же он такое писал? Прошу цитату.

Цитата(CLR via C#)

In this section, I will show you how to create a thread and have it perform an asynchronous
compute-bound operation. While I am going to walk you through this, I highly recommend
that you avoid the technique I show you here. Instead, you should use the CLR’s thread pool
to execute asynchronous compute-bound operations whenever possible
, and I go into the
details about doing this in Chapter 26, “Compute-Bound Asynchronous Operations.”

However, there are some occasions when you might want to explicitly create a thread dedicated
to executing a particular compute-bound operation. Typically, you’d want to create a
dedicated thread if you’re going to execute code that requires the thread to be in a particular
state that is not normal for a thread pool thread. For example, explicitly create your own
thread if any of the following is true:


Это сообщение отредактировал(а) azesmcar - 5.4.2011, 08:17
PM   Вверх
-Mikle-
Дата 5.4.2011, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 17
Всего: 59



Цитата(azesmcar @  4.4.2011,  23:40 Найти цитируемый пост)
слово "реанимация" здесь была использована в контексте передачи потоку новой задачи

А, видимо я не понял. Согласен тогда конечно, сорри.


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0504 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.