java并发编程之Thread和Runnable之实例应用(三)
来源:互联网 发布:网络信息监控 编辑:程序博客网 时间:2024/06/08 17:59
1.Thread版买票:
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(); } }结果:
1.Runnable版买票:
public class MyRunnable 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 //设计三个线程 MyRunnable mt = new MyRunnable(); Thread t1 = new Thread(mt,"一号窗口"); Thread t2 = new Thread(mt,"二号窗口"); Thread t3 = new Thread(mt,"三号窗口"); t1.start(); t2.start(); t3.start(); }}结果:【显示的结果次数多了其实会有问题的,这里其实是需要加入同步操作(即互斥锁)来保持线程操作的原子性,这后面在说。】
结论:
1)Thread版是多个线程分别完成自己的任务。
2)Runnable版是多个线程共同完成一个任务。
阅读全文
1 0
- java并发编程之Thread和Runnable之实例应用(三)
- java并发编程之Thread和Runnable(二)
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)(r)
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)
- Java 并发编程之Runnable和Thread实现多线程的区别
- 多线程编程(三)--创建线程之Thread VS Runnable
- 多线程编程(三)--创建线程之Thread VS Runnable
- 多线程编程(三)--创建线程之Thread VS Runnable
- 并发学习之--Runnable Thread(一)
- Java多线程编程之Thread和Runnable的区别
- Java多线程编程之Runnable、Thread简介
- Java 入门 之 Thread 和 Runnable 类
- Excel的xml表现格式
- phantomjs
- Qt 程序使用自带 ttf 字体示例
- flask基本知识
- leeecode 445. Add Two Numbers II 链表相加
- java并发编程之Thread和Runnable之实例应用(三)
- Python checkio First Word解决方案
- 浅析Class文件
- Python + Django 如何支撑了 7 亿月活用户的 Instagram?
- 对map集合按照value从大到小进行排序
- Mysql数据库学习
- QT控件大全 四十二 QTickerGraph
- 学习随记
- SQL查询执行某条SQL语句所花费的时间