synchronized同步代码块失效的问题

lgmsyy 2014-07-08 02:48:14
synchronized同步代码块失效的问题

public class FuncControl{


private static Compare com = null;


public void execute(String fc) {

synchronized(com){//在此做同步
System.out.println(”看到我");

复杂的逻辑操作
Thread.sleep(5000);
}

}

我想在此做同步代码块。通过WEB的点击事件执行此段代码。
我的预想是这样的,当我在5秒内连续点击两次按钮,那么只有当第一个执行完成后(打印出”看到我"),第二个才能执行((打印出”看到我"))。

但实际结果却是,我连续点击两次后,那么先后两次打印出”看到我",难道是同步代码块没有起到作用吗???

...全文
474 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
dgqjava 2014-07-08
  • 打赏
  • 举报
回复
synchronized(com) 改成 synchronized(com.class)
shixitong 2014-07-08
  • 打赏
  • 举报
回复
不知道楼主具体怎么测试的,我在这边测试是隔5秒显示的,把代码贴全让大家看看问题到底在哪

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧