2013-06-24 77 views
-1

我有一個使用tcp套接字的程序異步調用來接收8字節的協議標頭。在處理ReadCallBack()[異步回調]時,它使用同步讀取獲取有效負載消息,然後處理它。異步套接字讀取問題

我的問題是ReadCallback方法是否線程安全。我正在使用正常字典來處理這些有效載荷。這是否會影響該字典?

回答

1

如果隔離,一切都是有效的線程安全;重要的問題是:什麼其他正在進行?什麼其他正在訪問(讀或寫)字典?如果沒有,那麼你應該沒問題 - 回調將被調用(取決於正在使用的特定API以及緩衝區中可用的數據,可能是或者在發佈Read...,的線程上完成 - 端口線程),然後大概你會在做別的事情之前做一些工作(讀/寫/關閉)。

但是,如果其他線程正在訪問字典,則無法在沒有特定代碼的情況下回答問題。