首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >跨多个子进程共享perl curses UI对象变量

跨多个子进程共享perl curses UI对象变量
EN

Stack Overflow用户
提问于 2012-04-24 14:29:38
回答 1查看 176关注 0票数 0

我正在编写一个生成多个子进程的工具。事实上,3级子进程可以加速整个逻辑/进程。

为了在终端中显示输出,我选择了Curses::UI。curses ui对象/小部件是在父/子关系的每个级别创建的,并在子流程的最后一个级别进行操作。这种多级子进程似乎导致了curses显示的问题。

我认为如果我在所有子进程/父进程之间只共享一个curses ui对象,那么它会很稳定。

为了实现这种共享,我尝试使用Storable/Shareable模块,但由于以下错误而无法运行:

quicode sub {││退出;││}导致错误:由(eval 99)行2处的操作掩码捕获的'exit‘,在my_curser.pl第147行,│代码子{──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘退出;}导致错误:'exit‘被操作掩码捕获(eval 99)行2,在my_curser.pl行147│ode sub {││退出;

是否可以在多个进程之间共享curses ui对象?

EN

回答 1

Stack Overflow用户

发布于 2012-04-24 14:34:49

curses依赖于C和终端或终端仿真器状态,即使从C也不能在进程之间可靠地共享,并且对于UI::Curses等Perl包装器不可见。(一个终端只有一个“当前位置”的/cursor位置;考虑一下如果不同的子进程试图同时更新显示器不同部分中的小部件会发生什么。)因此,您无法在子进程之间共享这些小部件。

通常,更好的设计是将线程或进程专用于UI,并将处理的其他方面分配给其他线程/进程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10292795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档