日期:2014-05-20  浏览次数:20731 次

如何让一个JAVA方法 一段时间只有一个人执行,别的用户要等前面一个人执行完才能执行
具体 用java方法调用存储过程.

  当一个用户点击执行后,别的用户不能再执行. 要等这个用户执行完之后下一个用户才能点击执行.


------解决方案--------------------
用同步不行吗
------解决方案--------------------
控制线程同步
------解决方案--------------------
将操作数据库的实例做为单列,然后调用程序过程的方法加上 synchronized
------解决方案--------------------
在只允许单个用户执行的代码上加synchronized
------解决方案--------------------

1、用synchronized,在方法加上这个,但是,这个类必须用单例方法模式。只有同一个对象,在synchronized才会互拆

2、用Lock加琐
------解决方案--------------------
楼上们的方法只是保证不会同时执行,楼主的要求是不让用户选择执行.
楼主可以做个执行标志,谁点击了标记为1,谁退出了标记为0.在页面判断这个值来决定是否允许点击.
------解决方案--------------------
加入线程同步,用等待和唤醒试试。
------解决方案--------------------
你可能想要的是那种生产者和消费者的模式吧。。。。网上有这个的。
------解决方案--------------------
synchronized
------解决方案--------------------
只能加锁,另外,如果有其他用户点击执行,如果当前处于锁定状态,则通知用户不能执行,