2

我有以下场景:
该程序有一个读取器和一个写入器线程到一个外部应用程序的套接字。读者和作者需要在协调的循环中工作。
写入器向套接字发送动态数量的消息 (x),读取器需要从套接字读取响应。每个周期的消息数量超过 5 到 10k。消息的接收顺序与发送的顺序不同,并且消息具有清晰的布局,因此可以确定单个消息。
读者需要阅读 x 条消息,然后在 . 阅读器完成读后处理后,作者需要重新开始向套接字发送。
从你的 pov 中最快的同步是什么?

  • 使用写入消息的数量向套接字发送特殊消息?(即使套接字上没有 FIFO 保证)
  • 使用经典的锁定对象?
  • 对具有写入消息数量的整数使用原子事务,并让编写者只更新一次整数?

    我是否错过了任何其他快速同步机制?

4

1 回答 1

3

除非您以每秒 100,000 次的量级执行此操作,否则哪种机制比另一种快微秒并不重要。只需使用最容易理解和/或开始工作的任何机制。然后仅在结果不够快时才考虑优化机制。消息处理本身很可能会比同步使用多几个数量级的时间。

于 2010-02-19T07:33:00.803 回答