我有一个程序使用tcp套接字异步调用来接收8字节的协议头。处理ReadCallBack()[异步回调]时,它使用同步读取来获取有效负载消息,然后处理它。
我的问题是ReadCallback方法是否是线程安全的。我使用普通字典来处理这些有效负载。是否会影响该词典?
答案 0 :(得分:1)
如果它是孤立的,那么一切都是有效的线程安全的;重要的问题是: else 正在发生什么?什么 else 正在访问(读取或写入)字典?如果没有,那么你应该没问题 - 将调用回调(这取决于所使用的特定API,缓冲区中可用的数据,可能 在发布{{1}的线程上在完成端口线程上的,或,然后你可能会在做其他事情之前先做一些字典工作(读/写/关闭)。
但是,如果其他线程正在访问字典,那么没有特定代码就无法回答这个问题。