-
公开(公告)号:US06829769B2
公开(公告)日:2004-12-07
申请号:US09823124
申请日:2001-03-30
IPC分类号: G06F946
CPC分类号: G06F9/544
摘要: Methods, systems, and computer program products for high-performance interprocess communication. Each process dynamically identifies routines responsible for managing communication received from other processes through a shared memory heap and a shared memory queue, each of the routines handling one or more operation codes. An allocation from the shared heap produces a process agnostic memory handle from which a process specific memory pointer may be obtained. Using the memory pointer, the enqueuing process places an operation code, parameters, and any other relevant data in the allocated memory and adds the memory handle to a shared queue. The dequeuing process removes the memory handle from the queue and generates a memory pointer to access the allocated memory in the dequeuing process. Upon retrieving the operation code from the allocated memory, the dequeuing process calls the appropriate handler routine. Enqueues may be registered to account for expected responses that are not received.
摘要翻译: 用于高性能进程间通信的方法,系统和计算机程序产品。 每个过程动态地标识负责管理通过共享存储器堆和共享存储器队列从其他进程接收的通信的例程,每个例程处理一个或多个操作代码。 来自共享堆的分配产生一个进程不可知的内存句柄,从中可以获取进程特定的内存指针。 使用内存指针,入队进程将操作代码,参数和任何其他相关数据放入分配的内存中,并将内存句柄添加到共享队列中。 出队进程从队列中删除内存句柄,并生成一个内存指针,以在出队进程中访问分配的内存。 在从分配的存储器检索操作代码时,出队进程调用适当的处理程序例程。 入队可能被注册,以解决未收到的预期响应。