黑马程序员技术交流社区
标题:
关于线程间通信的代码(还有问题,只是记录)
[打印本页]
作者:
yefeidd
时间:
2015-8-11 16:02
标题:
关于线程间通信的代码(还有问题,只是记录)
/*@线程间通信
*@有两个动作:一个存一个取。对同一资源进行操作,比如银行。
*/
class Vault {
String name;
String sex;
}
class Input implements Runnable// 录入信息
{
private Vault r;
Input(Vault r)// 初始化
{
this.r = r;
}
public void run() {
int flag = 0;// 标志
while (true) {
if (flag == 0) {
synchronized (Vault.class) {//加一个锁
r.name = "张三";
r.sex = "男";
}
} else {
synchronized (Vault.class) {
r.name = "lisa";
r.sex = "woman";
}
}
flag = (flag + 1) % 2; // 1或者0之间循环
}
}
}
class Output implements Runnable {// 输出信息
private Vault r;
Output(Vault r)// 初始化
{
this.r = r;
}
public void run() {
while (true)// 打印
{
synchronized (Vault.class) {//加一个锁,注意要和输入锁是同一个锁
System.out.println(r.name + "--------" + r.sex);
}
}
}
}
复制代码
作者:
liushuaishuai
时间:
2015-8-11 19:42
整理一下成为java高级工程师的技能(不用都学)新人勿进!
作者:
yefeidd
时间:
2015-8-12 15:13
liushuaishuai 发表于 2015-8-11 19:42
整理一下成为java高级工程师的技能(不用都学)新人勿进!
什么鬼,这是灌水的节奏吗?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2