用haskell实现select的timeout(待解决)
来源:互联网 发布:十大炒股软件排名 编辑:程序博客网 时间:2024/05/16 13:00
2007-04-05 旧作。原载:http://blog.csdn.net/st_monad/article/details/1553561
在ocaml.cn上看到有人问如何用haskell实现select的timeout,觉得这个比较实际的问题有点意思,记下来留待以后慢慢想。
原文在: http://ocaml.cn/node/296
输入参数是一些Handle,都是可读的,但不确定什么时候能读到数据(比如说它们都是pipe的一端在等待另一端的输入);函数的主要功能是—— 在这些Handle上等数据,对最先发现数据的Handle作hGetChar,并取消对其他Handle的等待,返回值为所取得的char;除此之外, 还有一个时间参数作为timeout,如果这段时间内任一handle上都没有输入的话,就取消全部action。如果用haskell的类型来表示的 话,这个函数的类型大概应该是float -> [Handle] -> Maybe char
原文在: http://ocaml.cn/node/296
输入参数是一些Handle,都是可读的,但不确定什么时候能读到数据(比如说它们都是pipe的一端在等待另一端的输入);函数的主要功能是—— 在这些Handle上等数据,对最先发现数据的Handle作hGetChar,并取消对其他Handle的等待,返回值为所取得的char;除此之外, 还有一个时间参数作为timeout,如果这段时间内任一handle上都没有输入的话,就取消全部action。如果用haskell的类型来表示的 话,这个函数的类型大概应该是float -> [Handle] -> Maybe char
这是个很常见的需求,实际上这就是传统意义上的select函数,但我不知道应该怎么写。>>=和return这些primitive都有,问题就是怎么将它们组合来实现这个功能。快速指南里的大都是什么输入一个char输出两遍之类的例子,没有发现类似的功能。
- 用haskell实现select的timeout(待解决)
- 用haskell实现select的timeout(待解决)
- 用Haskell实现的阶乘函数
- 实现Pop3s&maildrop(有错待解决)
- 解决模拟器TimeOut的问题
- ioctl函数的问题(待解决)
- 各种OutOfMemoryError的解决(待补充)
- 待解决的存疑
- 待解决的问题
- 待解决的问题
- 待解决的问题
- 待解决的问题
- 待解决的问题
- 待解决的疑问
- 待解决的题
- 待解决的问题
- 待解决的问题
- 待解决的问题
- log4j控制日志文件大小
- haskell的世界观(4)
- Struts1和Struts2的区别比较
- 关注STM(software transactional memory)
- zju1007
- 用haskell实现select的timeout(待解决)
- practical haskell: producer-consumer多线程的实现
- 总理宣布部属师范大学实行师范生免费教育
- JMenu_1
- tagging file system + CMS构思
- YAPC::Beijing 2007
- cean(Comprehensive Erlang Archive Network) help
- 批判sepl
- 我看所谓“汉语编程”