java实现Runnable接口适合资源的共享
2018-07-18 11:01
771 查看
本文为大家分享了java实现Runnable接口适合资源的共享,供大家参考,具体内容如下
Java当中,创建线程通常用两种方式:
1、继承Thread类
2、实现Runnable接口
但是在通常的开发当中,一般会选择实现Runnable接口,原因有二:
1.避免单继承的局限,在Java当中一个类可以实现多个接口,但只能继承一个类
2.适合资源的共享
原因1我们经常听到,但是2是什么呢?下面用一个例子来解释:
有5张票,分两个窗口卖:
继承Thread类:
public class ThreadDemo { public static void main(String[] args) { HelloThread t1 = new HelloThread(); t1.setName("一号窗口"); t1.start(); HelloThread t2 = new HelloThread(); t2.setName("二号窗口"); t2.start(); } } class HelloThread extends Thread{ private int ticket = 5; public void run() { while(true){ System.out.println(this.getName()+(ticket--)); if (ticket<1) { break; } } } }
运行结果:
很明显,这样达不到我们想要的结果,这样两个窗口在同时卖票,互不干涉。
实现Thread类:
public class ThreadDemo { public static void main(String[] args) { HelloThread t = new HelloThread(); Thread thread1 = new Thread(t, "1号窗口"); thread1.start(); Thread thread2 = new Thread(t, "2号窗口"); thread2.start(); } } class HelloThread implements Runnable{ private int ticket = 5; public void run() { while(true){ System.out.println(Thread.currentThread().getName()+(ticket--)); if (ticket<1) { break; } } } }
运行结果:
这样两个窗口就共享了5张票,因为只产生了一个HelloThread对象,一个对象里边有一个属性,这样两个线程同时在操作一个属性,运行同一个run方法。
这样就达到了资源的共享。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- 实现Runnable接口适合资源的共享
- Java学习笔记之实现Runnable接口可以资源共享(卖票系统)
- java多线程------实现Runnable接口创建多进程,实现资源共享
- Java 实现Runnable接口 资源共享
- 线程的实现(通过Runnable接口实现资源的共享:卖票)
- 如果用Runnable就可以实现资源共享[Java多线程]
- 在程序开发中只要是多线程肯定永远以实现Runnable接口为主,因为实现Runnable,可以实现资源共享
- 使用Runnable接口实现资源共享的一些心得
- 如果一个类通过继承Thread来实现多线程的话,则不适合多个线程共享资源,而通过实现Runnable就可以做到这一点
- 使用Runnable接口实现资源共享的一些心得
- Java中继承thread类与实现Runnable接口的区别
- Java中继承thread类与实现Runnable接口的区别
- 【转载】JAVA中线程的两种实现方法-实现Runnable接口和继承Thread类
- 黑马程序员——java第十一、十二天:多线程(创建线程1-2、多线程同步代码、实现Runnable接口、安全死锁)
- Java【多线程知识总结(6)】使用Runnable接口创建多线程,处理同一个资源
- java runnable接口实现多线程
- JAVA 实现Runnable接口
- Java【多线程知识总结(6)】使用Runnable接口创建多线程,处理同一个资源
- java中的通过继承Thread和实现Runnable接口实现的线程
- java runnable接口实现多线程