小编Sem*_*ore的帖子

实现线程在C#中快速,批量和连续读取的最佳实践?

如何在.NET 4.0中处理从C#中的设备读取批量数据?具体来说,我需要从USB HID设备快速读取,该设备发出超过26个数据包的报告,其中必须保留订单.

我试过在BackgroundWorker线程中这样做.它一次从设备读取一个数据包,然后在阅读更多信息之前对其进行处理.这提供了相当好的响应时间,但它可能会丢失数据包,并且单个数据包读取的开销成本会增加.

while (!( sender as BackgroundWorker ).CancellationPending) {
       //read a single packet
       //check for header or footer
       //process packet data
    }
}
Run Code Online (Sandbox Code Playgroud)

C#中读取这样的设备的最佳做法是什么?


背景:

我的USB HID设备不断报告大量数据.数据分为26个数据包,我必须保留订单.不幸的是,设备只标记每个报告中的最后一个数据包,因此我需要能够捕获其间的所有其他数据包.

c# io usb multithreading hid

2
推荐指数
1
解决办法
769
查看次数

标签 统计

c# ×1

hid ×1

io ×1

multithreading ×1

usb ×1