`
imyer
  • 浏览: 2200 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
文章分类
社区版块
存档分类
最新评论

erlang的bug?,timer:sleep(1000)CPU占用很高的问题

阅读更多
timer:sleep(T)的实现:
receive
after T -> ok
end
其中有个问题,如果sleep或者after的时间为1000ms时,cpu占用很高,测试代码如下:
-module(ctrl).
-compile(export_all). 

start(0, _Ms) ->
	ok;
start(N, Ms) ->
	timer:sleep(10),
	spawn(?MODULE, test, [Ms]),
	start(N-1, Ms).
	
test(Ms) ->
	test(Ms, 20).
test(_Ms, 0) ->
	ok;
test(Ms, N) ->
	timer:sleep(Ms),
	test(Ms, N-1).


调用ctrl:start(20,1000).cpu占用约在30%;
调用ctrl:start(20,999).只要不是1000,cpu基本不占,erlang的bug?
分享到:
评论

相关推荐

    erlang的timer和实现机制

    erlang的timer和实现机制 Erlang程序设计

    erlang入门级练习:LeetCode OJ问题的部分erlang 源码

    我自己在新学erlang,在LeetCode OJ上找了题目练习,题目很适合新手熟悉语言,但是LeetCode OJ里面只有几门主流语言的答案,下面是已完成的erlang源代码,后续有空再做其他问题续传,题目包含:(源码开头都有题目...

    《Erlang之父:为什么面向对象很糟糕》PDF

    《Erlang之父:为什么面向对象很糟糕》PDF 《Erlang之父:为什么面向对象很糟糕》PDF 《Erlang之父:为什么面向对象很糟糕》PDF 《Erlang之父:为什么面向对象很糟糕》PDF 《Erlang之父:为什么面向对象很糟糕》PDF

    RabbitMQ 23 道面试题及答案.docx

    答案:RabbitMQ 是基于 erlang 语言开发的,提供了高性能和可靠性的消息队列服务。 13. RabbitMQ 的缺陷是什么? 答案:RabbitMQ 的缺陷包括自身是基于 erlang 语言开发的,导致较难分析源码和进行深层次的源码...

    Erlang安装包,版本:otp_win64_24.1.7.exe

    otp_win64_24.1.7.exe

    erlang-memoiz:Erlang的记忆库

    ok = memoiz:do(timer, sleep, [1000]), ... %% and this call will return almost immediately: ok = memoiz:do(timer, sleep, [1000]), ... 或使用功能对象: ... ok = application:start(memoiz), ... %% this ...

    erlang整理的一些心得和lunix查看cpu和内存信息的方法

    erlang整理的一些心得和lunix查看cpu和内存信息的方法

    Centos7安装RabbitMQ的文档和安装包(包含erlang安装包).rar

    Centos7安装RabbitMQ的文档和安装包,包含erlang的安装文档和安装包。RabbitMQ版本是3.7.12。

    erlang_lpc:Erlang 的高度并行本地 RPC 式 pmap 执行框架

    液化石油气 LPC 的代码源自 Erlang 的 RPC 的 OTP 源。 它已被修剪和修改为仅包含在节点... [fun(X) -> timer:sleep(100), X end], lists:seq(1, 10000)), do_async_work() -> % Non-blocking call to async/3 to sta

    erlang文献及资料汇总

    erlang文献及资料汇总 入门资料: erlang中文手册(R11B 文档译文,最适合入门) erlang位运算与二进制解析 erlang二进制高效编程 erlang异常处理详解 开发经验: 面对软件错误构建可靠的分布式系统 编写分布式的 ...

    erlang_ls:Erlang 语言服务器

    erlang_ls 一个实现微软语言服务器协议 3.15 的 Erlang 服务器。最低要求 快速开始编译项目: make要在/usr/local/bin安装生成的erlang_ls escript: make install命令行参数这些是可以提供给erlang_ls脚本的命令行...

    erlang programming

    Erlang是一种面向并发的、函数式编程语言,主要用于构建高度可扩展的、容错性强的分布式系统。在“erlang programming”这个主题下,我们可以深入探讨以下几个关键知识点: 1. **Erlang语言基础**:Erlang是瑞典...

    Linux系统中CPU占用率较高问题排查思路与解决方法

    很多运维的同学遇到这种状况往往会不知所措,对于CPU过载问题通常使用以下两种方式即可快速定位: 方法一 第一步:使用 top命令,然后按shift+p按照CPU排序 找到占用CPU过高的进程的pid 第二步:使用 top -H -p...

    erlang资源

    Erlang是一种面向并发的、函数式编程语言,由瑞典电信设备制造商Ericsson开发,用于构建高可用性、分布式和实时系统。这个“erlang资源”包含两本PDF书籍——《Erlang并发编程》和《Erlang入门手册》,它们是深入...

    Erlang入门:构建application练习2

    Erlang入门:构建application练习3,实例演示如果构建一个最简单的Erlang Application

    erlperf:有用的工具集合,这些工具可用于Erlang分析,跟踪,内存分析等。 可伸缩性和性能检查

    $ ./erlperf ' timer:sleep(1). ' Code || QPS Rel timer:sleep(1). 1 500 100% 使用两个同时运行的代码示例运行erlperf $ ./erlperf ' rand:uniform(). ' ' crypto:strong_rand_bytes(2). ' --samples 10 --...

    erlang win64_21.2

    系统:windows10 64 位 erlang安装包,版本:21.2 ——

    Erlang and OTP in Action MEAP May 2010

    Erlang and OTP in Action Martin Logan, Eric Merritt, and Richard Carlsson MEAP Began: August 2008 Softbound print: May 2010 (est.) | 500 pages ISBN: 1933988789 Part One: Getting Past Pure Erlang; ...

    程序员开发erlang的资料

    Erlang是一种面向并发的、函数式编程语言,由瑞典电信设备制造商Ericsson为了实现分布式高可用系统而设计。在IT行业中,Erlang因其在处理大规模并发连接和容错能力上的优秀表现,被广泛应用于通信、金融以及互联网等...

Global site tag (gtag.js) - Google Analytics