您正在从Perl 5.39.5查看此文档的版本。这是Perl的开发版本。

目录

名称

测试2::手动::解剖::IPC-IPC系统手动。

描述

本文件描述了IPC系统。

什么是IPC系统

IPC系统通过加载激活测试2::IPC。这使集线器能够识别进程/线程,并根据需要将事件转发给父进程/线程。

IPC系统如何影响一切?

测试2::API测试2::API::实例如果测试2::IPC在初始化全局状态之前加载。IPC驱动程序将主要以全局状态启动和存储。

如果初始化了IPC驱动程序,则所有集线器都将通过引用驱动程序实例进行初始化。如果集线器具有IPC驱动程序实例,它将使用它将事件转发给父进程和线程。

IPC驾驶员做什么?

一个测试2::IPC::驱动程序提供了一种将事件数据发送到目标进程+线程+中心(或全局发送)的方法。驱动程序还必须为进程/线程/集线器提供一种读取已发送给它的任何挂起事件的方法。

默认IPC驱动程序如何工作?

默认的IPC驱动程序为测试2::API::驱动程序::文件。此默认驱动程序在初始化时,通过创建临时目录启动。任何时候需要将事件发送到另一个进程/线程/中心时,都会使用可存储。将目标进程、线程和中心作为文件名的一部分写入文件。所有中心将定期检查并处理未决IPC事件。

使用一小块SHM对该驱动程序进行了进一步优化。每当通过IPC发送新事件时,shm都会更新为新值。除非自上次轮询以来shm值发生了更改,否则集线器不会费心检查新的IPC事件。这样做的结果是,IPC系统速度惊人,并且在没有未决事件时不会浪费时间轮询硬盘。

另请参阅

测试2::手动-手册的主要索引。

来源

Test2 Manual的源代码存储库可以在https://github.com/Test-More/Test2-Suite/.

维护人员

乍得格拉姆<exodist@cpan.org>

作者

乍得格拉姆<exodist@cpan.org>

版权

2018 Chad Granum版权所有<exodist@cpan.org>.

这个程序是自由软件;您可以重新发布它和/或使用与Perl本身相同的条款对其进行修改。

请参见http://dev.perl.org/许可证/