gpt4 book ai didi

c# - Q : How to serialized parallel connection with FIFO Queue?

转载 作者:太空宇宙 更新时间:2023-11-03 12:33:32 24 4
gpt4 key购买 nike

我使用具有串行功能的 C# 类将我的应用程序连接到 CNC 机器 - 该项目是 MDI。

串行函数被不同的子窗体调用(有 5 个子窗体)。

在另一个为处理连接而创建的类中,我将创建一个 FIFO 队列来管理来自子表单的请求。

子窗体将通过套接字与连接类通信。这是一个好主意吗?
如果没有,是否有其他方法可以做到这一点?

我在这个模式下思考:

private struct s_fifoObj
{
public int priority; //Priority of serial command
public DateTime data; // Date of command
public string from; // That form send the comand
public string cmd; // the command (request)
public int status; // status of command
}

private Queue<s_fifoObj> q_fifoObj;

最佳答案

您使用套接字在子表单和连接处理程序之间进行通信是否有原因?您可以在父 MDI 窗口中创建连接处理程序的实例,然后将其传递给子窗口构造函数。或者你可以让你的连接处理程序成为 singleton

你需要排队吗?如果您的应用程序是单线程的,那么您不需要队列。如果您正在使用多个线程/任务或使用异步函数,那么 FIFO 将起作用,但一定要确保 ConcurrentQueue在 System.Collections.Concurrent 或其他线程安全的东西中。

关于c# - Q : How to serialized parallel connection with FIFO Queue?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41874804/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com