在JAVA中使用多线程非常简单,我们先学习如何创建和使用线程,然后结合案例再深入剖析线程的特性。
通过继承Thread类实现多线程
继承Thread类实现多线程的步骤:
1. 在Java中负责线程的这个功能的是java.lang.Thread 这个类
2. 可以通过创建 Thread 的实例来创建新的线程。
3. 每个线程都是通过某个特定Thread对象所对应的方法run( )来完成其操作的,方法run( )称为线程体。
4. 通过调用Thead类的start()方法来启动一个线程。
【示例1】继承Thread类实现多线程
public class TestThread extends Thread { public void run() { for(int i=0;i<100;i++){ System.out.println(this.getName()+":"+i); } } public static void main(String[] args) { TestThread thread1 = new TestThread(); thread1.start(); TestThread thread2 = new TestThread(); thread2.start(); } } |
示例1 运行效果图
这种方式的缺点:那就是如果我们的类已经从一个类继承(如小程序必须继承自 Applet 类),则无法再继承 Thread 类。
通过Runnable接口实现多线程
在开发中,我们更多的是通过Runnable接口实现多线程。这种方式的优点是:
可以同时实现继承。实现Runnable接口方式要通用一些。
【示例2】通过Runnable接口实现多线程
public class TestThread2 implements Runnable { public void run() { for(int i=0;i<100;i++){ System.out.println(Thread.currentThread().getName()+":"+i); } } public static void main(String[] args) { Thread thread1 = new Thread(new TestThread2()); thread1.start(); Thread thread2 = new Thread(new TestThread2()); thread2.start(); } } |
执行结果与通过Thread创建线程,类似。
「全栈Java笔记」是一部能帮大家从零到一成长为全栈Java工程师系列笔记。笔者江湖人称 Mr. G,10年Java研发经验,曾在神州数码、航天院某所研发中心从事软件设计及研发工作,从小白逐渐做到工程师、高级工程师、架构师。精通Java平台软件开发,精通JAVAEE,熟悉各种流行开发框架。
笔记包含从浅入深的六大部分:
A-Java入门阶段
B-数据库从入门到精通
C-手刃移动前端和Web前端
D-J2EE从了解到实战
E-Java高级框架精解
F-Linux和Hadoop