Erlang最大进程并发数

-module(helloworld). 
-export([max/1,start/0]). 

max(N) -> 
   Max = erlang:system_info(process_limit), 
   io:format(Maximum allowed processes:~p~n ,[Max]), 

   statistics(runtime), 
   statistics(wall_clock), 

   L = for(1, N, fun() -> spawn(fun() -> wait() end) end), 
   {_, Time1} = statistics(runtime), 
   {_, Time2} = statistics(wall_clock), lists:foreach(fun(Pid) -> Pid ! die end, L), 

   U1 = Time1 * 1000 / N, 
   U2 = Time2 * 1000 / N, 
   io:format(Process spawn time=~p (~p) microseconds~n , [U1, U2]).
   wait() -> 

   receive 
      die -> void 
   end. 

for(N, N, F) -> [F()]; 
for(I, N, F) -> [F()|for(I+1, N, F)]. 

start()->
   max(1000), 
   max(100000).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。