帮我写一下注释,每一行都要写详细一点,非常感谢!
public class JoinDemo {
public static void main(String args[]){
ThreadJoin a=new ThreadJoin();
a.customer.start();
a.tvMaker.start();
}
}
class ThreadJoin implements Runnable{
TV tv;
Thread customer,tvMaker;
ThreadJoin(){
customer=new Thread(this);
tvMaker=new Thread(this);
customer.setName("顾客");
tvMaker.setName("电视制造厂");
}
public void run(){
if(Thread.currentThread()==customer){
System.out.println(customer.getName()+"等"+
tvMaker.getName()+"生产电视");
try{
tvMaker.join();
}catch(InterruptedException e){}
System.out.println(customer.getName()+"买了一台电视:"+tv.name+"价钱:"+tv.price);
}
else if(Thread.currentThread()==tvMaker){
System.out.println(tvMaker.getName()+"开始生产电视,请等。。。");
try{
tvMaker.sleep(2000);
}catch(InterruptedException e){}
tv=new TV("海信牌",9000);
System.out.println(tvMaker.getName()+"生产完毕");
}
}
}
class TV{
float price;
String name;
TV(String name,float price){
this.name=name;
this.price=price;
}
}
public class JoinDemo {
public static void main(String args[]){
//程序开始
ThreadJoin a=new ThreadJoin();
//启动客户线程
a.customer.start();
//启动电视制造线程
a.tvMaker.start();
}
}
class ThreadJoin implements Runnable{
TV tv;
Thread customer,tvMaker;
ThreadJoin(){
//创建客户线程
customer=new Thread(this);
//创建电视制造厂线程
tvMaker=new Thread(this);
//设置客户线程名
customer.setName("顾客");
//设置电视制造厂线程名
tvMaker.setName("电视制造厂");
}
public void run(){
//如果当前线程是客户,输出顾客等待电视制造厂生产电视
if(Thread.currentThread()==customer){
System.out.println(customer.getName()+"等"+
tvMaker.getName()+"生产电视");
try{
//等待这个线程结束
tvMaker.join();
}catch(InterruptedException e){}
//输出顾客买了一台电视:名字 价钱:价钱
System.out.println(customer.getName()+"买了一台电视:"+tv.name+"价钱:"+tv.price);
}
else if(Thread.currentThread()==tvMaker){
//如果当前线程是电视生产厂,输出电视生产厂开始生产电视,请等。。。
System.out.println(tvMaker.getName()+"开始生产电视,请等。。。");
try{
//等待
tvMaker.sleep(2000);
}catch(InterruptedException e){}
//创建电视
tv=new TV("海信牌",9000);
//输出电视生产完毕
System.out.println(tvMaker.getName()+"生产完毕");
}
}
}
//定义电视的各种属性。例如价钱名称等
class TV{
float price;
String name;
TV(String name,float price){
this.name=name;
this.price=price;
}
}
public class JoinDemo
//这个不用说了程序的入口
public static void main(String args[]){
ThreadJoin a=new ThreadJoin();
//先程custome,tvMaker的开始
a.customer.start();
a.tvMaker.start();
}
}
//创建线程,实现接口Runnable
class ThreadJoin implements Runnable{
//声明变量
TV tv;
Thread customer,tvMaker;
//构造方法
ThreadJoin(){
//实例化线程custome,tvMake
customer=new Thread(this);
tvMaker=new Thread(this);
//设置custome,tvMaker的名称
customer.setName("顾客");
tvMaker.setName("电视制造厂");
}
//实现Runnable中run()方法
public void run(){
//下面的不用说了就是顾客等电视机啊,厂商生产电视
if(Thread.currentThread()==customer){
System.out.println(customer.getName()+"等"+
tvMaker.getName()+"生产电视");
try{
tvMaker.join();
}catch(InterruptedException e){}
System.out.println(customer.getName()+"买了一台电视:"+tv.name+"价钱:"+tv.price);
}
else if(Thread.currentThread()==tvMaker){
System.out.println(tvMaker.getName()+"开始生产电视,请等。。。");
try{
//线程tvMake休眠
tvMaker.sleep(2000);
}catch(InterruptedException e){}
tv=new TV("海信牌",9000);
System.out.println(tvMaker.getName()+"生产完毕");
}
}
}
class TV{
float price;
String name;
//构造方法
TV(String name,float price){
this.name=name;
this.price=price;
}
}
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息