Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
12.03.2013, 00:58
|
|||
---|---|---|---|
Запуск потока с использованием лямбда-выражений |
|||
#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, 15:26
|
|||
---|---|---|---|
Запуск потока с использованием лямбда-выражений |
|||
#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.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=20&tablet=1&tid=1405027]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 141ms |
0 / 0 |