本节要点:学会运用Thread,Runnable
练习(多线程交叉执行){
0.(图文解析)
1.先定义一个接口,定义一个量值(执行几次),其次定义一个集合存入数据
2.获取数据当前的名号字,再进行循环
3.判断是否为0,不为0那么就执行输出(设置每秒出现一位数的变换)
public class Ceshi1 implements Runnable {
//定义一个变量
private int ok=10;
//定义一个集合
Object ass=new Object();
@Override
public void run() {
//获取当前的属性名
String name = Thread.currentThread().getName();
//while循环
while (true){
//判断是否为0,把数据放到synchronized里面
synchronized (ass){
if(ok>0){
System.out.println(name+"正在售卖"+(ok)+"张票");
try{
Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
ok--;
}else{
break;
}
}
}
}
}
4.如果大于0时,减少1,否者结束
5.实现功能(调用Ceshi1 ),解释: ass== Thread.currentThread().getName();
public static void main(String[] args) {
Ceshi1 ass=new Ceshi1();
Thread t1=new Thread(ass,"杨洋");
Thread t2=new Thread(ass,"毛毛");
t1.start();
t2.start();
}