Я прочитал десятки статей о потоковом в C# и приложении.DoEvents() ... Все еще не могу использовать его правильно, чтобы выполнить мою задачу: У меня есть контроллер, подключенный к мой COM, этот контроллер работает по команде (я отправить команду, нужно ждать несколько миллисекунд, чтобы получить ответ от него), предположит ответ является данными, которые я хочу построить каждый интервал времени с помощью цикла:многопоточное безопасное использование с контроллером SerialPort
- начала моя петля.
- отправить команду контроллеру через serialPort.
- wait for response (wait let say 20 ms).
- получить данные.
- повторите этот цикл каждый, скажем, 100 мс.
это просто не хочет работать !! Я попытался связаться с контроллером данных в другом потоке, но кажется, что он не может получить доступ к serialPort, который принадлежит основному потоку (грубо говоря).
любая помощь ценится
По моему опыту, «DoEvents» никогда не решал никаких проблем. Я стараюсь держаться подальше от него. – gunr2171
что вы используете тогда в таких случаях, когда вам это нужно, можете ли вы, пожалуйста, дать мне альтернативу, которую вы предпочитаете? К gunr2171 – chouaib
Создайте экземпляр serialPort во вторичном потоке, используйте его и управляйте им. Сообщайте данные своего участка с помощью BeginInvoke. –