Hello, "aoen"
> тред объявлен статиком как его запустить заново?
> в документации Suspend() и Resume() объявлены как obsolete
> Как его запустить еще раз?
То, что Suspend() и Resume() объявлены как obsolete это еще не значит, что
их нельзя использовать. Просто данный подход не является предпочтительным и
в будущем таких методов может и не стать...
Posted via RSDN NNTP Server 2.0
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, aoen, Вы писали:
A>тред объявлен статиком как его запустить заново?
A>в документации Suspend() и Resume() объявлены как obsolete
A>Как его запустить еще раз?
Поток, который закончил выполнение сам или был прерван, нельзя запустить повторно.
Once the thread terminates, it cannot be restarted with another call to Start.
Если Вы хотите использовать поток многократно, используйте встроенный или самописный ThreadPool.
Если Вам нужно временно приостанавливать выполнение потоков, делайте это, используя классы Monitor, ReaderWriterLock, WaitHandle и др.
Здравствуйте, aoen, Вы писали:
A>тред объявлен статиком как его запустить заново?
A>в документации
A>Suspend() и Resume() объявлены как obsolete
A>Как его запустить еще раз?
Запустить заново после чего? Если поток был убит через Abort, то запустить его уже нельзя, получите ThreadStateException:
Thread is running or terminated; it cannot restart.
MSDN.
Do not use the Suspend and Resume methods to synchronize the activities of threads. You have no way of knowing what code a thread is executing when you suspend it. If you suspend a thread while it holds locks during a security permission evaluation, other threads in the AppDomain might be blocked. If you suspend a thread while it is executing a class constructor, other threads in the AppDomain that attempt to use that class are blocked. Deadlocks can occur very easily.
Лучше последовать совету MSDN и использовать примитивы синхронизации.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Здравствуйте, nikov, Вы писали:
N>Здравствуйте, aoen, Вы писали:
A>>тред объявлен статиком как его запустить заново?
A>>в документации Suspend() и Resume() объявлены как obsolete
A>>Как его запустить еще раз?
N>Поток, который закончил выполнение сам или был прерван, нельзя запустить повторно.
N>N>Once the thread terminates, it cannot be restarted with another call to Start.
N>Если Вы хотите использовать поток многократно, используйте встроенный или самописный ThreadPool.
N>Если Вам нужно временно приостанавливать выполнение потоков, делайте это, используя классы Monitor, ReaderWriterLock, WaitHandle и др.
А не подскажите, как встроенный ThreadPool использовать в STAThread приложении?