📄 synchronizedemo3.java
字号:
/**
*A non-synchronize Producer/Concumer problem
*2004.12.24. xhcprince
*/
class Q
{
int n;
synchronized int get()
{
System.out.println("Get: " + n);
try
{
Thread.sleep(1000);
}
catch(InterruptedException e)
{
System.out.println(e.getMessage());
}
return n;
}
synchronized void put(int n)
{
this.n = n;
System.out.println("Put: " + n);
try
{
Thread.sleep(1000);
}
catch(InterruptedException e)
{
System.out.println(e.getMessage());
}
}
}
class Producer implements Runnable
{
Q obj;
Producer(Q obj)
{
this.obj = obj;
new Thread(this).start();
}
public void run()
{
int i = 0;
while(i <= 6)
{
obj.put(i);
++i;
}
}
}
class Consumer implements Runnable
{
Q obj;
Consumer(Q obj)
{
this.obj = obj;
new Thread(this).start();
}
public void run()
{
int t = 0;
while(t <= 6)
{
obj.get();
++t;
}
}
}
class SynchronizeDemo3
{
public static void main(String args[])
{
Q obj = new Q();
new Producer(obj);
new Consumer(obj);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -