//实现Runnable接口创建多进程,实现资源共享
package xian_cheng;public class Example05 {public static void main(String[] args) {// TODO Auto-generated method stubTickWindow tw=new TickWindow();//实例化对象twnew Thread(tw,"窗口 1").start();//创建对象并命名为窗口一,开启线程new Thread(tw,"窗口 2").start();//new Thread(tw,"窗口 3").start();//new Thread(tw,"窗口 4").start();}}
class TickWindow implements Runnable{private int tickets=100;public void run(){while (true) {if (tickets>0) {Thread th=Thread.currentThread();//获取当前进程String th_name=th.getName();//获取当前进程名字System.out.println(th_name+"正在发售第"+--tickets+"张票");}}}
}

java多线程------实现Runnable接口创建多进程,实现资源共享相关推荐

  1. Java实现Runnable接口创建多线程

    Java实现Runnable接口创建多线程 通过继承Thread类,实现多线程,但是,这种方式有一定的局限性,因为,Java中只支持单继承,一个类一旦继承了某个父类,就无法再继承Thread类 比如, ...

  2. java 多线程编程(包括创建线程的三种方式、线程的生命周期、线程的调度策略、线程同步、线程通信、线程池、死锁等)

    1 多线程的基础知识 1.1 单核CPU和多核CPU 单核CPU,其实是一种假的多线程,因为在一个时间单元内,也只能执行一个线程的任务.微观上这些程序是分时的交替运行,只不过是给人的感觉是同时运行,那 ...

  3. Java多线程学习(二)---线程创建方式

    线程创建方式 摘要: 1. 通过继承Thread类来创建并启动多线程的方式 2. 通过实现Runnable接口来创建并启动线程的方式 3. 通过实现Callable接口来创建并启动线程的方式 4. 总 ...

  4. java多线程(一)——创建与启动线程

    一.创建线程 1.继承java.lang.Thread类 重写run()方法. 2.实现java.lang.Runnable接口 实现run()方法 二.启动线程 1.调用start()方法,而不是r ...

  5. 使用Runnable接口创建线程,很简单

    大家好,今天分享.使用Runnable接口创建线程 首先Java创建线程可以通过三种方法: 即: 1.继承Thread类创建线程类(重点) 2.通过Runnable接口创建线程类(重点) 3.通过Ca ...

  6. 通过实现Runnable接口创建,开启,休眠和中断线程。

    ** 通过实现Runnable接口创建,开启,休眠和中断线程. ** 1.创建线程 在Android中,提供了两种创建线程的方法,一种是通过Thread类的构造方法创建线程对象,并重写run()方法实 ...

  7. Java多线程(2)--Thread类继承和Runnable接口创建线程

    Java语言的JVM允许程序运行多个线程,它通过java.lang.Thread类来体现. Thread类的特性 每个线程都是通过某个特定Thread对象的run()方法来完成操作的,经常把run() ...

  8. java基础 通过继承Thread类和实现Runnable接口创建线程

    java 创建线程 Java中,线程也是一种对象,但不是任何对象都可以成为线程. 只有实现了Runnable接口或继承了Thread类的对象才能成为线程. 继承Thread类 //格式: class ...

  9. Java多线程的11种创建方式以及纠正网上流传很久的一个谬误

    创建线程比较传统的方式是继承Thread类和实现Runnable,也可以用内部类,Lambda表达式,线程池,FutureTask等. 经常面试会问到继承Thread类和实现Runnable的区别,然 ...

最新文章

  1. 30条HTML代码编写指南 for入门者
  2. 取消MySQL timestamp列默认ON UPDATE CURRENT_TIMESTAMP
  3. 计算机应用工作技能与经验,关于计算机应用技能人才培养模式的思考
  4. Linux内核I/O系统报错日志与硬盘故障对应关系
  5. svn update -r m path 代码还原到某个版本(这样之前的log日志也就没了,也就是清空log日志)...
  6. 笔记-信息化与系统集成技术-物联网
  7. 开放下载!《iOS开发者必读资讯》
  8. 备忘录怎么用红笔标注_错题本的正确打开方法,你用对了吗?
  9. C 11 实现的 100行 线程池
  10. oracle安装中桌面模式与服务器模式的去别
  11. 【机器学习实战之一】:C++实现K-近邻算法KNN
  12. 【高并发】java JUC中的Semaphore(信号量)
  13. 新电脑怎么分盘_【磁盘分区教程】如何给电脑进行分区?
  14. ERP沙盘模拟实验报告
  15. Win10专业工作站版本激活并获得数字权利的方法和密钥
  16. mysql安装步骤及报错处理(windows)
  17. java 毫秒数一天_java用毫秒数做日期计算的一个踩坑记录
  18. ProcessOn画斜箭头、写公式方法记录
  19. 如何查看自己电脑应该买什么样的内存条
  20. 经典编程书籍大全-python

热门文章

  1. 一家创业公司,如何服务好数百企业?
  2. Google IO 谈 AI First,我们却发现了更多
  3. 情人节,你们的CEO都在干嘛?
  4. Cisco无线AP上联口为trunk时无法注册故障处理
  5. PHP闭包(Closure)初探
  6. log-malloc2 0.2.4 发布
  7. 多点子接口的帧中继配置(MP SubInterface FrameRealy)
  8. 如何聚焦自己的研究方向?一个实例研究
  9. 你总是不要等到完全准备好了再去做事情
  10. 一种新的在线学习的方法:能够克服单人多任务学习的困难!