Java——Thread/Runnable实现多线程
来源:互联网 发布:淘宝手机神仙道辅助 编辑:程序博客网 时间:2024/05/17 02:13
一,关于线程的基本概念
一个独立程序的每一次运行成为一个进程。
每个进程又可以包含多个同时执行的子任务,对应多个线程。
将一个进程分解为互不影响的多个线程,可以使多个线程并行执行,大大缩短了执行时间。
二,通过继承Thread类实现新线程
public class FactorialThreadTester {/** * 主线程 */public static void main(String[] args) {System.out.println("main thread starts");FactorialThread thread=new FactorialThread(10);thread.start(); //开启新线程System.out.println("main thread ends");}}/* * 新类继承Thread,实现run方法 * */class FactorialThread extends Thread{private int num;public FactorialThread(int num){this.num=num;}@Overridepublic void run() {int i=num;int result=-1;System.out.println("new thread started");while(i>0){result=result*i;i=i-1;}System.out.println("the factorial of "+num+" is :"+result);System.out.println("new thread ends");}}
结果:
三,通过实现Runnable接口实现多线程
public class ImplementRunnableDemo {public static void main(String[] args) {System.out.println("main thread starts");FacorialThread f=new FacorialThread(10);new Thread(f).start();//开启新线程System.out.println("new thread started,main thread ends");}}/* * * 通过实现Runnable接口实现多线程,实现接口中run方法 * */ class FacorialThread implements Runnable{ private int num;public FacorialThread(int num){this.num=num;}@Overridepublic void run() {int i=num;int result=-1;System.out.println("new thread started");while(i>0){result=result*i;i=i-1;}System.out.println("the factorial of "+num+" is :"+result);System.out.println("new thread ends");}}
这种方法跟继承Thread类其实没多大区别,只不过因为Java是单继承语言,可能实现多线程的类已经继承了别的父类,在是时候,可以通过实现接口的方式来实现多线程。
可以从执行结果看出,当开启新线程之后,主线程继续执行,也就是说程序的执行并没有阻塞在新线程的start方法中。
因此,在执行耗时操作,比如网络操作,IO读取等,我们可以重新开启一个线程,在新线程里面放入我们要执行的操作,以保证我们其他操作不受影响。
0 0
- Java——Thread/Runnable实现多线程
- Java多线程——Thread 和 Runnable
- java多线程—Runnable、Thread、Callable
- java多线程—Runnable、Thread、Callable区别
- JAVA多线程Thread和Runnable的实现
- JAVA多线程:Thread、Runnable
- 多线程——Java中继承Thread类与实现Runnable接口的区别
- java多线程总结笔记1——Runnable和Thread
- JAVA多线程——Thread和Runnable的区别
- JAVA——多线程编程之两种多线程方法:继承Thread类和实现Runnable接口(一)
- Java 继承Thread和实现Runnable实现多线程的区别
- java多线程 Thread 和Runnable
- java 多线程(Thread,Runnable)
- java多线程 Thread 和Runnable
- java多线程Thread和Runnable
- Java多线程Thread与Runnable
- Java多线程--Runnable和Thread
- JAVA多线程之Thread&&Runnable
- Storm之Spout、Bolt、Topology组件
- 大概是打招呼~
- js基础学习笔记
- 【WZOI第二次NOIP模拟赛Day1T2】世界末日 解题报告
- Haploview做单倍型分析
- Java——Thread/Runnable实现多线程
- 【软考】插入排序
- [BZOJ1441] Min
- Java-二分查找算法
- 单例代码
- MyISAM vs InnoDB 分析之二
- *客户端禁用Cookie后的会话数据保存
- 检测网络状态代码
- 空类内存sizeof