免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: laputa1973

请教一下coro多线程抓网页的例子。 [复制链接]

论坛徽章:
0
发表于 2012-07-18 09:28 |显示全部楼层
那样的话,进程就不会退出了呀。
做server是没问题的。
client程序还是要等join的吧
这个和多线程是一样的。
多进程的话,主进程就可以先退出了。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2012-07-18 09:58 |显示全部楼层
呵呵,在实际应用的时候会使用很多协程的功能,是很容易检测任务队列是否结束的。我一般是设个timer检测任务队列

我以前以为Coro最大优势是非阻塞,现在越来越觉得它最大卖点是协程。它的非阻塞和协程都是,threads那种假多线程无法比拟的。

ps. Coro模块在CPAN上能看到3个评价,第一个就是唐凤

论坛徽章:
0
发表于 2012-07-18 11:47 |显示全部楼层
回复 8# laputa1973


    coro能配合什么模块搞ssh么?
   

论坛徽章:
0
发表于 2012-07-18 17:18 |显示全部楼层
回复 13# ludio333
正在找。telnet/ssh的相关模块
目前AnyEvent是没有。
也许Coro::Socket配合Net::Telnet可以实现telnet
配合Net::OpenSSH也许可以实现ssh
不过没有现成的模块可用。

如果只是为了noblock,有POE::Component::OpenSSH可用
coro和POE应该也是可以配合的吧



   

论坛徽章:
0
发表于 2012-07-18 17:30 |显示全部楼层
回复 14# laputa1973


    感谢
没用过poe呢,去看看

论坛徽章:
0
发表于 2012-07-18 18:36 |显示全部楼层
回复 12# py

coro的名称就是协程(coroutine),类似elang和stackless
我理解coro本身并不是非阻塞,而是只是因为coro可以极大地并行,一定条件下可以通过并行的方式来消除堵塞。
但是也要求协程内部的操作不能是互相会阻塞的。否则一个协程会阻塞其他的协程。

对POE::Component::Generic的实现有些好奇,说明很神奇
POE::Component::Generic is a POE component that provides a non-blocking wrapper around any object.
按它的说明,是通过子进程的封装实现的? 那样的话,就没什么意义了。无阻塞是要在同一进程内部才有意义的。
POE::Component::Generic works by forking a child process with POE::Wheel::Run and creating the blocking object in the child process. Method calls on the object are then serialised and sent to the child process to be handled by the object there. The returned value is serialised and sent to the parent process, where it is posted back to the caller as a POE event.

继续看....
比较头疼读源码。


现在要实现一个大批量telnet登录上万台设备/主机执行命令的功能
请教用什么方法比较好呢?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2012-07-18 19:38 |显示全部楼层
Coro的确是非阻塞的没错。它是单进程单线程的,并没有你说的“并行”存在,全靠非阻塞的。

我从没用过POE,POE还是问flw吧。

如果我是你,我想我会用AnyEvent::Socket。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP