scala多线程demo

xiaoxiao2021-02-28  27

Runnable示例

import java.util.concurrent.{ExecutorsExecutorService} object Test {   def main(args: Array[String]) {     //创建线程池     val threadPool:ExecutorService=Executors.newFixedThreadPool(5)     try {       //提交5个线程       for(i <- 1 to 5){         //threadPool.submit(new ThreadDemo("thread"+i))         threadPool.execute(new ThreadDemo("thread"+i))       }     }finally {       threadPool.shutdown()     }   }   //定义线程类,每打印一次睡眠100毫秒   class ThreadDemo(threadName:String) extends Runnable{     override def run(){       for(i <- 1 to 10){         println(threadName+"|"+i)         Thread.sleep(100)       }     }   } } Callable示例 import java.util.concurrent.{CallableFutureTaskExecutorsExecutorService} object Test {   def main(args: Array[String]) {     val threadPool:ExecutorService=Executors.newFixedThreadPool(3)     try {       val future=new FutureTask[String](new Callable[String] {         override def call(): String = {           Thread.sleep(100)           return "im result"         }       })       threadPool.execute(future)       println(future.get())     }finally {       threadPool.shutdown()     }   } }
转载请注明原文地址: https://www.6miu.com/read-1000098.html

最新回复(0)