摘要: 使用底层操作系统的线程解决长NIF函数问题 Erlang运行时使用普通调度器线程来运行Erlang函数和普通NIF函数,通过脏调度器运行脏NIF函数,除了这两种方式外,你还可以使用enif_thread_create或erl_drv_thread_create创建的线程来运行(大部分)独立于Erla 阅读全文
posted @ 2023-03-09 17:37 karl2013 阅读(49) 评论(0) 推荐(0)
摘要: ###关于脏NIF函数需要知道的一些知识 默认情况下,虚拟机给你N个脏CPU调度器,其中N是正常调度器的数量。正常调度器的数量默认为系统上配置的逻辑处理器的数量。 不指定脏调度器数量的情况下,脏调度器的数量等同于普通调度器的数量,既-smp +S 1等同于-smp +S 1 +SDcpu 1,此时系 阅读全文
posted @ 2023-03-09 17:35 karl2013 阅读(67) 评论(0) 推荐(0)
摘要: 近期对Erlang的NIF函数进行先期的学习和预研,在观看API文档时看到了NIF函数会抢占Erlang 虚拟机调度器线程的问题,导致其它Erlang进程无法正常使用调度器线程,由此阻塞系统及导致各种稀奇古怪的事情发生。 Erlang官方建议NIF函数返回速度相当快是非常重要的,通常一个行为良好的本 阅读全文
posted @ 2023-03-09 17:35 karl2013 阅读(172) 评论(0) 推荐(0)