微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我的流程暂时无法安排

如何解决我的流程暂时无法安排

我的应用程序是使用 C# 编写的,它将使用 USB 3.0 与另一台设备进行通信。 Use 3.0 包含三个通信流:两个摄像头以大约 12MB/s 和 2MB/s 的速度提供图像流,一个以每秒 2 帧(每帧约 20 字节)的速率提供 rs422 流。 Rs422 设置为 9600 费率。 rs422转USB类型与pc通讯。 在我的应用程序中,我接收相机的图像和 rs422 数据以显示在 WPF 控件上。 问题是我的进程在12秒左右无法调度,导致我的进程有一段时间无法接收图像和数据,12秒后可以恢复接收图像和数据。即使进程的优先级是实时的,问题也会发生。 更多测试显示: (1) 我运行这个过程 24 小时,它可能发生几次(3 次或 5 次)。 (2) 我在不同的电脑上运行应用程序(所有电脑都是 windows 10 64 位),有些是台式电脑,有些是笔记本电脑。问题只发生在我的两台台式电脑上。此外,我的笔记本电脑的性能比台式电脑更强大。 (3)多次测试表明,非预定时间为12秒。 (4) 如果我的应用程序只与相机通信,则问题不会发生。 (5) 如果我的应用只和 rs422 通信,问题就不会发生。

我猜问题的原因是: (1) USB线或芯片的硬件可能受他人影响,通讯出现问题,导致os上的驱动不稳定。 (2) 或者大数据通信超过驱动器中的最大缓冲区,导致操作系统无法调度我的进程。 而且我想看看os上发生了什么,导致我的进程暂时无法调度。 我怎样才能跟踪它? 有什么方法或者工具可以给点线索吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。