免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5509 | 回复: 13
打印 上一主题 下一主题

[C++] C++er看到这么漂亮的js代码,自杀的心都有了(分享不是自己写的一些代码) [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-11-16 14:58 |只看该作者 |倒序浏览

  1. var http = require('http');
  2. http.createServer(function (req, res) {
  3.   res.writeHead(200, {'Content-Type': 'text/plain'});
  4.   res.end('Hello World\n');
  5. }).listen(1337, "127.0.0.1");
  6. console.log('Server running at http://127.0.0.1:1337/');
复制代码

论坛徽章:
0
2 [报告]
发表于 2011-11-16 15:00 |只看该作者
群雄逐鹿中原 发表于 2011-11-16 14:58



    操,直接用的C++ v8引擎,还好意思说……

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2011-11-16 15:01 |只看该作者
操,直接用的C++ v8引擎,还好意思说……
egametang 发表于 2011-11-16 15:00



    第一个C++编译器还不是用C写的,还好意思说

论坛徽章:
0
4 [报告]
发表于 2011-11-16 15:03 |只看该作者
第一个C++编译器还不是用C写的,还好意思说
群雄逐鹿中原 发表于 2011-11-16 15:01



    现在不是了哦 js也自己编译解析自己试试

论坛徽章:
0
5 [报告]
发表于 2011-11-16 15:06 |只看该作者
差点上你当了,请Cer正面回答,Cer挑衅C++,别拿js来说事

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
6 [报告]
发表于 2011-11-16 15:19 |只看该作者
别啦,上面都是开玩笑。

因为每次写多线程的交互代码,最后都陷入万劫不复的混乱中,
这两天在琢磨这段代码,如何用C/C++的等价表达?

利用 回调函数(或仿函数/lambda表达式) 等手段,
不难模拟出类似表达。
难琢磨的地方:
线程(或进程)之间消息传递,如何包装,使他像node.js一样,对用户几乎看不到。


这个回调函数,看似要在主线程的空间内执行比较好。
不晓得写C/C++的,有什么好的模型。



//主线程
var http = require('http');

//主线程:创建一个子线程
http.createServer(
  function (req, res) {
    //子线程:执行,给主线程发送创建完毕的消息

    //主线程:给子线程发送writeHead消息,控制子线程执行writeHead函数
    res.writeHead(200, {'Content-Type': 'text/plain'});

    //主线程:给子线程发送end消息,控制子线程执行end函数
    res.end('Hello World\n');

}).listen(1337, "127.0.0.1");

console.log('Server running at http://127.0.0.1:1337/');

//主线程:等待所有子线程完成

论坛徽章:
0
7 [报告]
发表于 2011-11-16 15:22 |只看该作者
回复 5# egametang


    这是C的原罪,Cer也跑不了。

论坛徽章:
0
8 [报告]
发表于 2011-11-16 15:22 |只看该作者
本帖最后由 egametang 于 2011-11-16 15:23 编辑
别啦,上面都是开玩笑。

因为每次写多线程的交互代码,最后都陷入万劫不复的混乱中,
这两天在琢磨这段 ...
群雄逐鹿中原 发表于 2011-11-16 15:19



    可以参考我写的ThreadPoolTest, 两个线程直接跨越是非常简单的事情
做得更好一点可以用lockfree互斥

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
9 [报告]
发表于 2011-11-16 15:26 |只看该作者
可以参考我写的ThreadPoolTest, 两个线程直接跨越是非常简单的事情
做得更好一点可以用lockfree ...
egametang 发表于 2011-11-16 15:22



    请给个链接看一下,thank you

BTW, 除内核的某些极端情况下,我是从来不相信lock free的,lock free好比拿忙等换lock,呵呵

论坛徽章:
0
10 [报告]
发表于 2011-11-16 15:29 |只看该作者
请给个链接看一下,thank you

BTW, 除内核的某些极端情况下,我是从来不相信lock free的,l ...
群雄逐鹿中原 发表于 2011-11-16 15:26



    https://github.com/egametang/Ega ... d/ThreadPoolTest.cc

两个线程交互,保证操作修改一个变量始终在同一个线程就行了,如果在两个线程修改同一个变量可以把其中一个线程的修改动作调度到另外一个线程执行
lockfree在锁的颗粒度很小的情况使用是比较好的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP