perl 语言中使用threads:shared如何shared文件句柄,要的结果是多个线程同时输出到一个文件句柄中。

 我来答
百度网友c9e795dda
2012-11-16 · TA获得超过5167个赞
知道大有可为答主
回答量:1128
采纳率:0%
帮助的人:1137万
展开全部
thread share 并不能 share file handle,只为 share 只支持 scalar, array, hash 这些简单结构. 如果真要做到这件事要, 得用上 Thread::Queue, IO::* 和open ">&=fh" 这类的句柄.. 会很复杂的.

所以, 你可以考虑先 share 一个 array, 再将要写的东西都 push 到一条 array 上, 最後, 用一条专用 thread 定时去将 array 里的东西都写入档案中, 然後再清空那条阵列. 那样会来得更加妥当.
( 这其实是 ls 77pm 的点子, 要采纳就点他的吧! 我本来只是想补充一下, 但不够写, 呵呵 )
追问
这个方法挺实用的,不错!
77pm
2012-11-16 · TA获得超过447个赞
知道小有建树答主
回答量:689
采纳率:0%
帮助的人:331万
展开全部
用队列,返回到队列,挑出来,在写个进程处理这个队列。可以明白不?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式