首页 理论教育 Java服务端研发:多线程实现

Java服务端研发:多线程实现

更新时间:2025-01-19 工作计划 版权反馈
【摘要】:Runnable对多线程的作用就是可以把它传入一个Thread中,作为新建线程的执行任务,这样就实现了多线程。自定义Thread运行结果如下:Thread[Thread-1,5,main]Thread[Thread-0,1,main]可以让一个类继承自Thread类,重写run方法来实现线程的任务单元,这样就可以不用把任务单元传给Thread,只要创建此线程并且调用start即可实现多线程。

(1)Runnable任务

运行结果如下:

thread is main start=100 end=1000 sum=495550

thread is Thread-0 start=200 end=2000 sum=1981100

ThreadRunnable是一个继承自Runnable的类,如果在主线程中创建这个类,并且调用run方法,其实它并没有什么特殊,只是正常执行求和的逻辑。Runnable对多线程的作用就是可以把它传入一个Thread中,作为新建线程的执行任务,这样就实现了多线程。

(2)自定义Thread

运行结果如下:(www.xing528.com)

Thread[Thread-1,5,main]

Thread[Thread-0,1,main]

可以让一个类继承自Thread类,重写run方法来实现线程的任务单元,这样就可以不用把任务单元传给Thread,只要创建此线程并且调用start即可实现多线程。在这个例子中用到了线程的几个方法,sleep方法用来使线程休眠,setPriority方法用来设置线程的优先级,setDaemon方法用来设置后台线程[23]

(3)线程池

以上两种方法都需要手动创建线程、启动线程,如果使用线程池进行托管,那么就省去了直接操作线程的麻烦,并且线程池中的线程还可以复用,也省去了重复创建线程的开销。代码如下:

以上是两种创建线程池的写法,只要把任务单元传入线程池即可执行多线程运算,而不用手动创建线程。这两种方法的区别就是newFixedThreadPool会规定最大线程数。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈