Java继承thread类与实现Runnable接口
来源:互联网 发布:互动投影软件1.1 编辑:程序博客网 时间:2024/04/30 13:52
Java中线程的创建有两种方式:
1. 通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中
2. 通过实现Runnable接口,实例化Thread类
Java 购票实例:
class MyThread extends Thread{ private int ticket = 10; private String name; public MyThread(String name){ this.name =name; } public void run(){ for(int i =0;i<500;i++){ if(this.ticket>0){ System.out.println(this.name+"卖票---->"+(this.ticket--)); } } } } public class ThreadDemo { public static void main(String[] args) { MyThread mt1= new MyThread("一号窗口"); MyThread mt2= new MyThread("二号窗口"); MyThread mt3= new MyThread("三号窗口"); mt1.start(); mt2.start(); mt3.start(); } }运行结果如下:
一号窗口卖票---->10 一号窗口卖票---->9 二号窗口卖票---->10 一号窗口卖票---->8 一号窗口卖票---->7 一号窗口卖票---->6 三号窗口卖票---->10 一号窗口卖票---->5 一号窗口卖票---->4 一号窗口卖票---->3 一号窗口卖票---->2 一号窗口卖票---->1 二号窗口卖票---->9 二号窗口卖票---->8 三号窗口卖票---->9 三号窗口卖票---->8 三号窗口卖票---->7 三号窗口卖票---->6 三号窗口卖票---->5 三号窗口卖票---->4 三号窗口卖票---->3 三号窗口卖票---->2 三号窗口卖票---->1 二号窗口卖票---->7 二号窗口卖票---->6 二号窗口卖票---->5 二号窗口卖票---->4 二号窗口卖票---->3 二号窗口卖票---->2 二号窗口卖票---->1
class MyThread1 implements Runnable{ private int ticket =10; private String name; public void run(){ for(int i =0;i<500;i++){ if(this.ticket>0){ System.out.println(Thread.currentThread().getName()+"卖票---->"+(this.ticket--)); } } } } public class RunnableDemo { public static void main(String[] args) { // TODO Auto-generated method stub //设计三个线程 MyThread1 mt = new MyThread1(); Thread t1 = new Thread(mt,"一号窗口"); Thread t2 = new Thread(mt,"二号窗口"); Thread t3 = new Thread(mt,"三号窗口"); // MyThread1 mt2 = new MyThread1(); // MyThread1 mt3 = new MyThread1(); t1.start(); t2.start(); t3.start(); } }
一号窗口卖票---->10 三号窗口卖票---->9 三号窗口卖票---->7 三号窗口卖票---->5 三号窗口卖票---->4 三号窗口卖票---->3 三号窗口卖票---->2 三号窗口卖票---->1 一号窗口卖票---->8 二号窗口卖票---->6
在我们刚接触的时候可能会迷糊继承Thread类和实现Runnable接口实现多线程,其实在接触后我们会发现这完全是两个不同的实现多线程,一个是多个线程分别完成自己的任务,一个是多个线程共同完成一个任务。
0 0
- 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接口的区别
- 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中继承thread类与实现Runnable接口的区别
- centos7 配置jdk替换openjdk(下)
- u-boot-2016.09移植(8)-合并tq210-spl.bin与u-boot.bin
- SQL—游标
- jQuery 简单特效之 ---- jQuery 实现包含淡入效果的简单图片库
- java文件怎么转换成class文件;class怎么转换成jar文件;jar文件怎么转换成二进制dex
- Java继承thread类与实现Runnable接口
- ADB常用命令
- UVa 1588:Kickdown
- AMD、CMD、commonJs
- 网络编程socket套接字
- jQuery简单特效之 ----- jQuery实现简单的下拉菜单
- android 基于缓存延迟发送的Rxbus
- 使用Spring的@Scheduled实现定时任务
- 【MyBatis】mybatis分页拦截器-自动封装