您的位置:首页 > 其它

线程间的同步理解。

2015-06-23 00:50 232 查看
package com.thread.text;

public class thradDay2
{

/**
* @param args
*/
public static void main(String[] args)
{
Res res = new Res();

//现在我要给他
Thread th1 = new Thread(new Input(res));
Thread th2 = new Thread(new Output(res));

th1.start();
th2.start();
}

}

class Res
{
String name;
String sex;
}

/*
* 用于输入的类
*/
class Input implements Runnable
{
private Res res;
int x = 0;

public Input(Res res)
{
this.res = res;
}

public void run()
{
while (true)
{
//注意这里加的锁。是Output类的字节码。这样可以实现线程间的同步
synchronized (Output.class)
{
if (x == 0)
{
res.name = "zhulang";
res.sex = "nane";
} else
{
res.name = "朱浪";
res.sex = "nv";
}
x = (x + 1) % 2;
}
}
}

}

/*
* 用于输出的类
*/
class Output implements Runnable
{
private Res res;

public Output(Res res)
{
this.res = res;
}

public void run()
{
while (true)
{
synchronized (Output.class)
{
// 用于输出
System.out.println(res.name + ".>....." + res.sex);
}
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: