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;
}
}
}
}