其实很好理解哦,楼主。①这句话的意思就是新建一个引用来接收要调用的对象
②这个就是线程的构造函数了,你在main函数中不是将t传给Inter和Outer吗,这个构造函数就同时接收了Test1的对象,他们就可以共同操作这个对象了
- class Test1
- {
- String name;
- String sex;
- }
- class Inter implements Runnable
- {
- ①private Test1 t;//这句话什么意思啊?????????????,是怎么调用的对象啊?
- ②Inter(Test1 t)//还有这句
- {
- this.t=t;
-
- }
- public void run()
- {
- int x=0;//设置一个局部变量
- while(true)
- {
- synchronized(t)
- {
- if(x==0)//交替往里面赋值
- {
- t.name="lili";
- t.sex="女";
- }
- else
- {
- t.name="mike";
- t.sex="man";
-
- }
- x=(x+1)%2;
- }
- }
- }
- }
- class Outer implements Runnable
- {
- private Test1 t;//
- Outer(Test1 t)
- {
-
- this.t=t;
- }
- public void run()
- {
- while(true)
- {
- synchronized(t)
- {
- System.out.println(t.name+"...."+t.sex);//输出打印
- }
- }
- }
- }
- class Test1Demo
- {
- public static void main(String[] args)
- {
- Test1 t=new Test1();//创建对象
- Inter i=new Inter(t);//创建对象
- Outer o=new Outer(t);//创建对象
- Thread t1=new Thread(i);//将对象导入Thread
- Thread t2=new Thread(o);
- t1.start();//开始运行
- t2.start();//开始运行
- }
- }
复制代码
|