【问题标题】:I don't know how to get orders from the terminal in a multithread situation我不知道如何在多线程情况下从终端获取订单
【发布时间】:2019-09-06 06:49:14
【问题描述】:

我正在开发一个 UDP 套接字项目。我在我的客户端程序中使用了 2 个线程。第一个线程注册并保持与服务器的连接。第二个线程需要响应来自终端的一些命令,例如将客户端的配置发送到服务器。 我需要能够在程序运行时在终端上键入以通知第二个线程它需要做什么,但我不知道如何在我的代码中实现它,我什至不知道要做什么在谷歌上寻找。

我什么都没试过,因为我完全不知道该怎么做

例如,我希望能够在程序运行时在终端中键入“sendconf”,并让第二个线程对此作出响应。我知道如何将客户端的配置发送到服务器,只是不知道如何通知它需要执行此操作的线程。

【问题讨论】:

    标签: c multithreading ubuntu terminal pthreads


    【解决方案1】:

    消息队列?

    将“消息”(命令)添加到第二个线程轮询的队列中,然后它处理消息并将回复发送到由第一个线程轮询的另一个队列。

    如果您想改为同步,则第二个线程可以改为直接在消息结构中设置数据以进行回复,然后设置一个已完成的标志。第一个线程一直等待标志,然后将结果提供给用户。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-12
      • 2018-03-14
      • 1970-01-01
      • 2011-03-10
      • 2022-10-08
      • 1970-01-01
      相关资源
      最近更新 更多