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

关于java程序执行的问题
假设 Class A 下面 有个main(args【】)方法,在linux服务器下,不同两个用户同时运行了这个方法,怎么避免这种问题,当1用户在运行的时候,另外一用户不能运行,或者是判断args【】参数相同时只允许一个用户运行。

------解决方案--------------------
为这个方法加把锁,比如:
//假如这是你的方法
public String main(String args){
synchronized (this) {
          //内容体   
        }
}
这样1用户进入,2用户就进不去,要等到1出来后,2才能进去
------解决方案--------------------
把用户运行的参数记到文件里。
每次有用户运行,就读取该文件,看是不是已经有运行的了,有的话就提示用户。
------解决方案--------------------
搞个文件记录运行情况 每次运行前读取文件
------解决方案--------------------
话说概率是那么的大


引用:
Quote: 引用:

搞个文件记录运行情况 每次运行前读取文件



你这个方法比较好,但是还有一个问题就是,假设两个用户是同时运行这个main,执行时间一样,前面一个用户的运行参数还没记录到文件中,后面一个用户已经执行了读文件的程序,这样问题有人能解决吗?