| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Модель передачи параметров потоку |
| Автор: GePo 24.8.2006, 23:03 | ||
У меня есть примерно такой класс( в обобщении
теперь попытаюсь объянисть проблему. В классе есть множество полей и MainLoop может создавать много потоков. Каждый из них должен работать с одним и тем же набором полей, кроме одного ( int Special). Потоку нельзя назначать процедуру с параметром и в этом загвоздка. Как сделать так, чтобы не было излишнего копирования данных( т.е. для каждого потока копировался только нужний Special )? (так, чтобы это было удобно в работе) Что попытался сделать я: Создал класс B, в котором была ссылка на A( без поля Special) и свой Special. Отлично, при создании потока создаю такой класс и делегат находится в классе B. Все бы хорошо, но неудобно работать с полями класса A. Каждый раз, нужно писать A.c, и т.д. |
| Автор: mr.DUDA 24.8.2006, 23:08 |
| Почему бы не использовать делегат ParametrizedThreadStart, принимающий аргумент типа object ? Так можно передать потоку что угодно. |
| Автор: GePo 24.8.2006, 23:35 |
| черт=) опять в мануале как следует не покапался. Спасибо |