前言
这是一棵树(网名)同学在群里分享的教程,有关R语言多线程的内容。
关于多线程是什么,可以搜一下,网上很多资料。
R的一个比较大的缺点就是它只能单线程操作,例如如果你的电脑有200个处理器,R一次只能使用一个,这个时候工作效率会降低。为了解决这个问题,可以调用R的多线程。
R中与多线程有关的包是parallel
。
parallel
包
paralle
包是R中的基础包,不用额外安装,直接调用即可,它的使用如下所示:
|
|
detectCores()
这个命令用来查看你的电脑有几个核心,如果添加上logical=F
参数,则表示查看电脑有几个物理核心,如果是logical=T
则表示有几个逻辑核心。
makecluster()
函数用于创建几个并行运算。
我们先来看一下运行这个函数之前的任务管理器,如下所示:
只有一个R,现在我们使用并行计算,即运行这个cl <- makeCluster(3)
命令,再看一下任务管理器,如下所示:
现在再关闭这个并行计算,即stopCluster(cl)
,如下所示:
使用并行计算的思路就是:打开并行计算,计算,关闭并行计算。
并行计算的分配
当我们使用makeCluster(4)
打开了4个R后,如何分配计算任务呢?