最近在研究多线程,浅谈JAVA中多线程的几种实现方式
2018-11-01 23:30
218 查看
多线程的实现方式:
个人认为,要说多线程的实现方式,万变不离其宗,最基本的就是两种1.继承Thread类;2.实现runnable接口,本质上来说就是用来启动线程执行任务的过程,具体来说的话,通过这两周方式变种为多种实现方式。此处简单举例最基本的两类类
1.继承Thread类
运行结果:
这里要注意,在启动线程的时候,我们并不是调用线程类的run方法,而是调用了线程类的start方法。这块实际上是用了设计模式中的模板方法模式,Thread类作为模板,而run方法是在变化的因此放到子类。
2.实现Runnable
其实Runnable就是一个线程任务,线程任务和线程的控制分离,这也就是上面所说的解耦。我们要实现一个线程,可以借助Thread类,Thread类要执行的任务就可以由实现了Runnable接口的类来处理。 这就是Runnable的精髓之所在!
使用Runnable实现上面的例子步骤如下:
定义一个类实现Runnable接口,作为线程任务类
重写run方法,并实现方法体,方法体的代码就是线程所执行的代码
定义一个可以运行的类,并在main方法中创建线程任务类
创建Thread类,并将线程任务类做为Thread类的构造方法传入
启动线程
运行结果
这块简单说下我的理解吧,线程的运行和线程的控制分离的,这一点还是很有用的,一个任务,我们可以通过多线程的形式来进行实现,当数据量多,或者业务需求中,接口调用频繁,多线程是至关重要的,但是切记线程安全问题,线程还可以通过内部类,定时器的形式来实现的,最后再说一点,可以有带返回值的多线程实现方式哟。这块我就不详说了 有好多博主有具体写过。有兴趣的可以去看下,明天准备就最近的业务需要,多次接口调用导致的效率问题,利用线程池效果明显体会,简单说下线程池的原理及使用场景优缺点,bingo goodnight😀😀😀
相关文章推荐
- 最近在研究多线程,浅谈JAVA中多线程的几种实现方式
- 浅谈Java的两种多线程实现方式
- java多线程都有几种方式实现
- Java多线程有哪几种实现方式? Java中的类如何保证线程安全? 请说明ThreadLocal的用法和适用场景(面试题)
- java多线程都有几种方式实现
- java多线程都有几种方式实现
- Java多线程有哪几种实现方式? Java中的类如何保证线程安全? 请说明ThreadLocal的用法和适用场景
- java多线程都有几种方式实现
- java核心知识点学习----多线程间的数据共享的几种实现方式比较
- Java - 编写多线程程序有几种实现方式?
- Java多线程:Producer-Consumer不同的几种实现方式
- Java多线程有哪几种实现方式? Java中的类如何保证线程安全? 请说明ThreadLocal的用法和适用场景
- java多线程都有几种方式实现
- Java 实现多线程的几种方式汇总
- java多线程都有几种方式实现
- 浅谈Java中随机数的几种实现方式
- java程序调用C、C++动态库的几种实现方式,即JNI的应用方式
- java 计算文件目录下文件总大小的几种多线程并发实现
- 【最近面试遇到的一些问题】多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么
- Java中有两种实现多线程的方式以及两种方式之间的区别