免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3136 | 回复: 5
打印 上一主题 下一主题

莫名其妙玩Coro然后玩hi了。。。 [复制链接]

论坛徽章:
3
未羊
日期:2013-11-18 15:17:06酉鸡
日期:2013-12-06 17:07:16天蝎座
日期:2014-06-11 12:37:07
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-08-08 00:41 |只看该作者 |倒序浏览
Coro感觉很新鲜的样子。。写了个DEMO爽了下,虽然不知道为啥这模块功能这么神奇,但是莫名的菊花感觉一凉,
各种想法呈现。。明天去改改那个蛋疼的工具脚本。。。

@mcshell   看看这个东西。。明天我们上班再讨论下。。
  1. #!perl
  2. # use AnyEvent;
  3. use AnyEvent::HTTP;
  4. use Data::Dumper;
  5. # use AnyEvent::Socket;
  6. # use AnyEvent::DBI::MySQL;
  7. use Coro;

  8. my $calculate = new Coro::Channel;
  9. my $result = new Coro::Channel;


  10. async {
  11.         while (){
  12.                 my $cv = AnyEvent->condvar;
  13.                 $cv->begin;
  14.                 my $message = $calculate->get;
  15.                 http_get(
  16.                         "http://www.baidu.com/s?wd=$message",
  17.                         sub {
  18.                                         $cv->end();
  19.                                         my ($word,$content,$hrd)=@_;
  20.                                         if ($content->{Status}==200){
  21.                                                 $result->put("yes");
  22.                                         } else{
  23.                                                 $result->put("No");
  24.                                         }
  25.                                 }
  26.                 );
  27.                
  28.                 $cv->recv();

  29.         }
  30. };

  31. for (1..100){
  32.         $calculate->put($_);

  33.         print "put:".$result->get."\n";
  34. }
复制代码

论坛徽章:
42
19周年集字徽章-周
日期:2019-10-14 14:35:31平安夜徽章
日期:2015-12-26 00:06:30数据库技术版块每日发帖之星
日期:2015-12-01 06:20:002015亚冠之首尔
日期:2015-11-04 22:25:43IT运维版块每日发帖之星
日期:2015-08-17 06:20:00寅虎
日期:2014-06-04 16:25:27狮子座
日期:2014-05-12 11:00:00辰龙
日期:2013-12-20 17:07:19射手座
日期:2013-10-24 21:01:23CU十二周年纪念徽章
日期:2013-10-24 15:41:34IT运维版块每日发帖之星
日期:2016-01-27 06:20:0015-16赛季CBA联赛之新疆
日期:2016-06-07 14:10:01
2 [报告]
发表于 2014-08-08 07:24 |只看该作者
你这个不是标准的coro用法.用了cro,就不用$cv了
httpget和channel处理都可以放在一个asyn里面

论坛徽章:
3
CU十二周年纪念徽章
日期:2013-10-24 15:41:34子鼠
日期:2013-12-14 14:57:19射手座
日期:2014-04-25 21:23:23
3 [报告]
发表于 2014-08-08 09:50 |只看该作者
这方面资料太少  只能去摸索

论坛徽章:
3
未羊
日期:2013-11-18 15:17:06酉鸡
日期:2013-12-06 17:07:16天蝎座
日期:2014-06-11 12:37:07
4 [报告]
发表于 2014-08-08 11:45 |只看该作者
回复 2# laputa73


    好吧!我只是闲得无聊。。。觉得这个模块很神奇,而且突然觉得好像没这么难理解了,就随手玩玩。。

    我记得PY很喜欢这个Coro模块,多次提过。。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2014-08-10 08:03 |只看该作者
看文档,文档上的说明写的很清楚。

论坛徽章:
3
未羊
日期:2013-11-18 15:17:06酉鸡
日期:2013-12-06 17:07:16天蝎座
日期:2014-06-11 12:37:07
6 [报告]
发表于 2014-08-12 14:06 |只看该作者
回复 5# py


    正有此想法。。你之前提到过的一个主进程挂起,子进程去做任务还是啥,那个东西有DEMO可以看看不?

    看到你写的那个方法很有条理性,但是不知道真实跑起来是啥样的,会不会有蛋疼的问题。。。。

    我知道多进程跑的时候会有一些二逼的错误,不知道为啥,有的时候偶尔会发生,正常跑是无事的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP