最快的同步

时间:2010-02-19 05:27:57

标签: c# performance multithreading synchronisation

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

  • 使用。发送特殊消息给套接字 书面信息的数量? (即使插座上没有FIFO保证)
  • 使用经典锁定对象?
  • 对整数使用原子事务和写入消息的数量,让编写器只更新一次整数?

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

1 个答案:

答案 0 :(得分:3)

除非你这样做大约每秒100,000次,否则哪种机制比另一种机制快几十秒并不重要。只需使用最容易理解和/或开始工作的任何机制。然后只考虑优化机制,如果结果不够快。消息处理本身很可能比这种同步使用几个数量级的时间。