实现多线程的方式Runnable
package com.thread.runnable;
/**
* 实现多线程的方式有继承Thread类和实现Runnable接口两种方式
* 哪种方式更好呢?实现的方式由于继承的方式。
* 原因:1.避免了Java但继承的局限性
* 2.如果多个线程要操作同一份资源,实现接口的方式更适合
* @author Administrator
*
*/
public class TestRunnable {
public static void main(String[] args) {
// OddTest odd = new OddTest();
// EventTest event = new EventTest();
// new Thread(odd,"奇数").start();
// new Thread(event,"偶数").start();
TestTicket ticket = new TestTicket();
new Thread(ticket,"窗口一").start();;
new Thread(ticket,"窗口二").start();;
new Thread(ticket,"窗口三").start();;
}
}
class TestTicket implements Runnable{
int ticket = 100;
@Override
public void run() {
while(true){
if( ticket > 0){
System.out.println(Thread.currentThread().getName()+"正在售票:"+ticket --);
}else{
break;
}
}
}
}
class OddTest implements Runnable{
@Override
public void run() {
for(int i = 1; i <= 100; i++){
if( i % 2 == 0){
System.out.println(Thread.currentThread().getName()+":"+i);
}
}
}
}
class EventTest implements Runnable{
@Override
public void run() {
for(int i = 1; i <= 100; i++){
if( i % 2 != 0){
System.out.println(Thread.currentThread().getName()+":"+i);
}
}
}
}
最新文章
- 利用SQL Server 2008 R2创建自动备份计划
- 关于Android 打开新的Activity 虚拟键盘的弹出与不弹出
- 我的Eclipse快捷键.
- swift——uiwebview的使用
- java中线程分两种,守护线程和用户线程。
- 假装有题目 &; Trie+贪心
- A little tutorial on CodeFluent Entities with ASP.NET MVC4
- [转]怎样解决Myeclipse内存溢出?
- 免费提供一些公开的SOCK4/5/HTTP/HTTPS代理服务器(经测试可以用)
- php 调用.net的webservice 需要注意的
- jsoup web scraping
- SKViedoNode类
- IDEA工具配置以及常用快捷键
- JQuery EasyUI框架学习
- win32用GDI+加载png图片作为背景图
- HDU Redraw Beautiful Drawings 推断最大流是否唯一解
- Infix expressions 中缀表达式
- Java经典案例之“水仙花数”
- IntelliJ IDEA(七) :Project Structure
- Beta(7/7)
热门文章
- Android 8.0 adb shell dumpsys activity activities | findstr mFocusedActivity 获取当前的 activity 显示空的
- linux救援
- BRVAH(让RecyclerView变得更高效)(1)
- 从士兵到程序员再到 SOHO 程序员 (三) - 游击战与阻力
- Leetcode 413.等差数列划分
- java面向抽象编程样例
- 【区间更新区间求和】HDU 1698 Just a Hook
- 洛谷 [P3480] KAM-Pebbles
- 动手实践 Linux VLAN
- 洛谷P2677 超级书架 2