多线程学习java的小伙伴们一定很耳熟,目前的企业因为要紧跟潮流几乎都要求多线程,那么多线程模式到底有什么用呢?下面小编就带大家了解下。
多线程的好处及作用
在某种方面来说,多线程是可以等价于多个任务的,当你在程序中有多个任务要处理时,多个任务在一起做所消耗的时间肯定比任务串行起来做消耗的时间要短不少,短出来的时间就是性能的提升了,如图:
在我们现在使用的电脑系统中,CPU的运行速度是极快的,其中绝大部分的时间都消耗在等硬盘、IO输入、网络等资源;但是当你启用多任务时,CPU就可以在多个任务之间来回切换。从而使得花费的时间远远少于所有任务需要消耗的时间。
多线程的实现
在Java自带的JDK包中,已经实现了对多线程技术的支持,我们只需直接编写就可以了。实现多线程编程的方式主要为这两种:
1、继承Thread类,重写run方法
--每次创建一个新的线程,都要新建一个Thread子类的对象
--启动线程,new Thread子类().start()
--创建线程实际调用的是父类Thread空参的构造器
public class MyThread { public static void main(String ards[]) { for (int i = 0; i < 10; i++) { new ExtendsThread() .start(); } System.out.println(Thread.currentThread() .getName()); } } class ExtendsThread extends Thread { @Override public void run() { System.out.println(Thread.currentThread() .getName()); } }
2、实现Runnable接口,重写run方法
--不管你有多少个线程,我只要一个Runnable接口实现类的对象
--启动线程,new Thread(Runnable接口实现类的对象).start()
--创建线程调用的是Thread类Runable类型参数的构造器
public class MyThread { public static void main(String ards[]) { Runnable implRunnable = new ImplRunnable(); for (int i = 0; i < 10; i++) { new Thread(implRunnable) .start(); } System.out.println(Thread.currentThread() .getName()); } } class ImplRunnable implements Runnable { private volatile int i = 0; @Override public void run() { System.out.println(Thread.currentThread() .getName() + "--" + i++); } }
以上就是今天的全部内容,多线程大概就是这样了,还有疑问,需要了解更多java常见问题及解决方法的小伙伴们可以来关注我们。
推荐阅读: