多线程(2)—静态修饰符实现属性共享数据

1.使用静态修饰符实现属性共享数据

2.多线程优点:

  • 1.提高应用程序的响应
  • 2.提高CPU的利用率
  • 3.改善程序结构

3.多线程分类:

  • 守护线程和用户线程

4.线程的生命周期

  • 新建、就绪、运行、阻塞、死亡

5.代码实例

public class Test1 {

    public static void main(String[] args) {
        //方法一—继承
        Number num1 = new Number();//创建了多个对象,类属性需要使用静态修饰符实现共用
        Number num2 = new Number();
        num1.setName("类一线程一");
        num2.setName("类一线程二");
        num1.start();
        num2.start();
        //方法二—实现
        Number1 n1 = new Number1();//只new了一个对象,所以不需要使用静态修饰符实现属性共用
        Thread t1 = new Thread(n1);//对于共享数据的问题,相比较而言实现的方式更好
        Thread t2 = new Thread(n1);
        t1.setName("类二线程一");
        t2.setName("类二线程二");
        t1.start();
        t2.start();
    }

}
//继承Thread
class Number extends Thread{
    static int number = 20;//属性设置为静态,这样两个对象就可共用一个number属性
    @Override
    public void run() {
        //两件事:1.同步number数字输出并减减,2.数字减一
        while(true){
                if(number>0){
                    System.out.println("我是"+Thread.currentThread().getName()+":"+number--);
                }else{
                    break;
                }
        }
    }
}
//实现接口Ruunaable
class Number1 implements Runnable{
    int number = 20;
    @Override
    public void run() {
        //两件事:1.同步number数字输出并减减,2.数字减一
                while(true){
                        if(number>0){
                            System.out.println("我是"+Thread.currentThread().getName()+":"+number--);
                        }else{
                            break;
                        }
                }
    }

}
原文地址:https://www.cnblogs.com/tengpengfei/p/10454002.html