|
Запуск потока с использованием лямбда-выражений
|
|||
---|---|---|---|
#18+
Здравствуйте. Уважаемые форумчане! Изучаю многопоточное программирование в C#. Хотелось бы передавать данные в поток. В литературе приводятся примеры с использованием делегата ParameterizedThreadStart. Такой подход позволяет передать в поток лишь один параметр типа object, плюс ко всему на МСДН заявляют, что такой подход не является безопасным относительно типов. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Если надо передать больше параметров, то в литературе рекомендуют создавать класс-обертку для них и передавать в качестве параметра его экземпляр. Я попытался использовать для передачи параметров в поток лямбда-выражения (или делегат) таким образом: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Такой подход позволяет передавать в поток нужные параметры без лишних классов. Но меня волнует вопрос: нету ли в таком подходе подводных камней? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2013, 00:58 |
|
Запуск потока с использованием лямбда-выражений
|
|||
---|---|---|---|
#18+
_Novichok, смотрите http://msdn.microsoft.com/ru-ru/library/system.threading.threadstart(v=vs.100).aspx Код: c# 1.
то,что вы пишите это эквивалентно: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2013, 15:26 |
|
|
start [/forum/topic.php?desktop=1&fid=20&tid=1405027]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 310ms |
total: | 454ms |
0 / 0 |