Skip to content

队列和并行集合

1. 队列

Scala也提供了队列(Queue)的数据结构,队列的特点就是先进先出。进队和出队的方法分别为enqueue和dequeue。

scala
def main(args: Array[String]): Unit = {
    val queue = new mutable.Queue[String]()
    // 添加元素
    queue.enqueue("a", "b", "c")
    val que1 : mutable.Queue[String] = queue += "d"
    println((queue eq que1))

    // 取出元素
    println(que1.dequeue())
    println(que1.dequeue())
    println(que1.dequeue())
}

运行结果:
Alt text

2. 并行

Scala为了充分使用多核CPU,提供了并行集合(有别于前面的串行集合),用于多核环境的并行计算。

scala
def main(args: Array[String]): Unit = {
    // 获取map时候的线程名称
    val result1 = (0 to 10).map {  _ =>
        Thread.currentThread.getName
    }
    // 使用par方法可以将普通集合转换成并行集合
    val result2 = (0 to 10).par.map {  _ =>
        Thread.currentThread.getName
    }
    // 打印线程名称
    println(result1)
    println("**********************")
    println(result2)
}

运行结果:
Alt text