首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

多线程2【共享数据】

2012-12-18 
多线程二【共享数据】Thread.currentThread()//获得当前正在执行这行代码的线程的引用Thread.currentThread

多线程二【共享数据】

Thread.currentThread();//获得当前正在执行这行代码的线程的引用Thread.currentThread().getName(); //获得线程名字


package text01;/** * 线程共享数据   */class MyThreadT implements Runnable{// 继承Thread类,作为线程的实现类private int ticket = 5 ;// 表示一共有5张票public void run(){// 覆写run()方法,作为线程 的操作主体for(int i=0;i<100;i++){if(this.ticket>0){System.out.println("卖票:ticket = " + ticket--) ;}}}};public class RunnableDemo02{public static void main(String args[]){MyThreadT mt = new MyThreadT() ; // 实例化对象new Thread(mt).run() ;// 调用线程主体new Thread(mt).run() ;// 调用线程主体}};运行结果:卖票:ticket = 5卖票:ticket = 4卖票:ticket = 3卖票:ticket = 2卖票:ticket = 1package text01;/** * 线程不能共享数据    */class MyThread1 extends Thread{// 继承Thread类,作为线程的实现类private int ticket = 5 ;// 表示一共有5张票public void run(){// 覆写run()方法,作为线程 的操作主体for(int i=0;i<100;i++){if(this.ticket>0){System.out.println("卖票:ticket = " + ticket--) ;}}}};public class ThreadDemo04{public static void main(String args[]){MyThread1 mt1 = new MyThread1() ; // 实例化对象MyThread1 mt2 = new MyThread1() ; // 实例化对象 mt1.run() ;// 调用线程主体mt2.run() ;// 调用线程主体 }};运行结果:卖票:ticket = 5卖票:ticket = 4卖票:ticket = 3卖票:ticket = 2卖票:ticket = 1卖票:ticket = 5卖票:ticket = 4卖票:ticket = 3卖票:ticket = 2卖票:ticket = 1

热点排行