并发学习2-使用Thread类来驱动实现Runnable接口的类
2017-02-25 13:34
302 查看
package com.ylhao.www; class TicketsThread implements Runnable{ private int ticketsCount = 10; //共剩余10张票 public TicketsThread(){ } public TicketsThread(int ticketsCount){ this.ticketsCount = ticketsCount; } public void saleTicket(){ if(ticketsCount > 0){ ticketsCount--; System.out.println(Thread.currentThread().getName()+"售票1张,余票数为:"+ticketsCount); } } public void run(){ while(ticketsCount > 0){ saleTicket(); } } } public class MainThread{ public static void main(String[] args){ System.out.println(Thread.currentThread().getName()); Thread t = new Thread(new TicketsThread(),"售票线程1"); t.start(); } }
程序执行结果如下:
main
售票线程1售票1张,余票数为:9
售票线程1售票1张,余票数为:8
售票线程1售票1张,余票数为:7
售票线程1售票1张,余票数为:6
售票线程1售票1张,余票数为:5
售票线程1售票1张,余票数为:4
售票线程1售票1张,余票数为:3
售票线程1售票1张,余票数为:2
售票线程1售票1张,余票数为:1
售票线程1售票1张,余票数为:0
分析:
首先在main()中打印了当前线程的名字,输出main
然后用Thread驱动TicketsThread对象,并传入线程的名字为:售票线程1
程序总共有两个线程:main、售票线程1
相关文章推荐
- java Thread学习-Thread的实现方法 继承Thread,实现Runnable 接口
- 实现Runnable接口和扩展Thread使用场景
- JAVA多线程实现的三种方式(继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程)
- 实现Runnable接口和扩展Thread使用场景
- JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没
- 实现Runnable接口的类+使用Thread类的实例来创建线程---->通过实现Runnable接口来创建线程类
- Java并发03:多线程实现三方式:继承Thread类、实现Runnable接口、实现Callable接口
- java多线程学习1-继承Thread类和实现Runnable接口来创建线程
- Java多线程实现接口Runnable和继承Thread区别(建议使用Runnable)
- Java【多线程知识总结(5)】比较继承Thread类创建线程和实现Runnable接口创建线程这两种方式
- Effective C# 学习笔记(四十一)使利用DynamicObject或IDynamicMetaObjectProvider接口实现数据驱动的动态类型
- 【转载】JAVA中线程的两种实现方法-实现Runnable接口和继承Thread类
- 一道小测试题,一个线程既实现了Runnable接口又继承Thread方法
- Java中继承thread类与实现Runnable接口的区别
- java中的通过继承Thread和实现Runnable接口实现的线程
- 实现Callable接口(因为Runnable(Thread)是执行工作的独立任务,但是不返回任何值)
- 在java编程时,线程创建实现Runnable接口与继承Thread类的不同
- 【Java学习笔记】Comparable接口的实现和使用
- android系统PS2全键盘驱动(上)-使用linux的标准接口实现
- 启动线程的五种方式方法(通过继承Thread类或实现Runnable接口)