浅谈Java多线程(一)(二)

2014-11-24 08:51:39 · 作者: · 浏览: 4
将synchronized添加为方法的修饰符,如下所示。
public synchronized void useTool(String workerName) throws InterruptedException
2)将需要同步的临界区代码放入synchronized(this){}中,如下所示。
synchronized(this)
{
t1Owner = workerName;
Thread.sleep(100);
t2Owner = workerName;
Thread.sleep(100);
checkTool();
} www.2cto.com
使用synchronized同步后,重新执行原主函数,得到正确执行结果。
*Right*: Tool1:Tom Tool2:Tom
*Right*: Tool1:Bob Tool2:Bob
*Right*: Tool1:Jack Tool2:Jack
*Right*: Tool1:Tom Tool2:Tom
*Right*: Tool1:Bob Tool2:Bob
*Right*: Tool1:Jack Tool2:Jack
*Right*: Tool1:Tom Tool2:Tom
*Right*: Tool1:Bob Tool2:Bob
*Right*: Tool1:Jack Tool2:Jack
*Right*: Tool1:Tom Tool2:Tom
*Right*: Tool1:Bob Tool2:Bob
*Right*: Tool1:Jack Tool2:Jack
*Right*: Tool1:Tom Tool2:Tom
*Right*: Tool1:Bob Tool2:Bob
*Right*: Tool1:Jack Tool2:Jack
*Right*: Tool1:Tom Tool2:Tom
作者:zephiruswt