相关疑难解决方法(0)

什么是Haskell对Node.js的响应?

我相信Erlang社区并不羡慕Node.js,因为它本身可以进行非阻塞I/O,并且可以轻松地将部署扩展到多个处理器(甚至没有内置在Node.js中).有关详情,请访问http://journal.dedasys.com/2010/04/29/erlang-vs-node-jsNode.js或Erlang

那么Haskell呢?Haskell能否提供Node.js的一些好处,即一个干净的解决方案,以避免在不使用多线程编程的情况下阻止I/O?


Node.js有很多吸引人的东西

  1. 事件:没有线程操作,程序员只提供回调(如在Snap框架中)
  2. 保证回调在单个线程中运行:不存在竞争条件.
  3. 简单易用的UNIX友好API.好处:优秀的HTTP支持.DNS也可用.
  4. 默认情况下,每个I/O都是异步的.这样可以更容易地避免锁定.但是,回调中过多的CPU处理会影响其他连接(在这种情况下,任务应分成较小的子任务并重新调度).
  5. 客户端和服务器端的语言相同.(但是我没有看到这个值太多了.jQuery和Node.js共享事件编程模型,但其余部分非常不同.我只是看不出服务器端和客户端之间的共享代码如何在实践中很有用.)
  6. 所有这些都包装在一个产品中.

concurrency multithreading haskell node.js

215
推荐指数
6
解决办法
5万
查看次数

如何在Haskell中轮询文件,套接字或句柄以使其可读/可写?

我怎么能从Haskell看几个文件/套接字并等待它们变得可读/可写?

在Haskell中有没有像select/epoll/...这样的东西?或者我被迫为每个文件/套接字生成一个线程并始终使用该线程中的阻塞资源?

haskell

8
推荐指数
1
解决办法
686
查看次数

标签 统计

haskell ×2

concurrency ×1

multithreading ×1

node.js ×1