使用 LINKED LIST 存储重叠结构是个好主意吗?
我的重叠结构看起来像这样
typedef struct _PER_IO_CONTEXT
{
WSAOVERLAPPED Overlapped;
WSABUF wsabuf;
....
some other per operation data
....
struct _PER_IO_CONTEXT *pOverlappedForward;
struct _PER_IO_CONTEXT *pOverlappedBack;
} PER_IO_CONTEXT, *PPER_IO_CONTEXT;
当 iocp 服务器启动时,我在链接列表中分配(例如)其中的 5000 个。此列表的开头存储在全局变量 PPER_IO_CONTEXT OvlList 中。我必须补充一点,我只在必须向所有连接的客户端发送数据的情况下使用这个链表。当 Wsasend 发布或 GQCS 收到通知时,更新链表(我使用 EnterCriticalSection 进行同步)。提前感谢您对更好的存储(缓存)重叠结构的提示、意见和建议。