Посты для тега : ‘Thread’

Синхронизация работы между потоками в C#

Синхронизация является, пожалуй, наиболее трудной частью создания многопоточных приложений. Вы можете создавать дополнительные потоки для выполнения какой-то работы хоть целый день, не заботясь о синхронизации, до тех пор, пока эти потоки не производят параллельный доступ к данным вместе с другими потоками. Никому не интересно знать, когда они завершатся, или каким будет результат их действий.

Читать далее »

Останавливающиеся и пробуждающиеся потоки

Как и для внутренних потоков операционной системы, существуют механизмы для погружения управляемых потоков в сон на определенный период времени или приостановки выполнения до тех пор, пока оно не будет явно возобновлено. Если поток просто желает приостановить себя на предопределенный период времени, он может вызвать статический метод Thread.Sleep и перейти в состояние WaitSleepJoin.

Читать далее »

Локальное хранилище потока в С#

В управляемом окружении можно создавать локальное хранилище потока (thread-local storage — TLS). В зависимости от приложения, может понадобиться иметь статическое поле класса, уникальное для каждого потока, в котором используется класс. В большинстве случаев на С# сделать это очень просто.

Читать далее »

Состояния потока в C#

Состояния управляемого потока четко определены исполняющей средой. Хотя переходы между состояниями могут иногда показаться запутанными, все же они не намного сложнее, чем переходы между состояниями потока операционной системы. В мире управляемых приложений необходимо учитывать множество обстоятельств, поэтому вполне естественно, что допустимые состояния и переходы между ними достаточно сложны.

Читать далее »

Многопоточность в С#

Простое упоминание о многопоточности иногда вселяет страх в сердца некоторых программистов. Для остальных — это хороший вызов. Независимо от того, как вы реагируете на нее, знайте, что многопоточность — это область, усеянная минными полями. Если вы не отнесетесь к этому с должным прилежанием, ошибка многопоточности неожиданно возникнет и натворит много бед, причем там, где вы […]

Читать далее »
 
Rambler's Top100