锁定老帖子 主题:防止JAVA程序重复启动的一个另类解决办法
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2006-12-11
可以使用单例模式的一种变种
if(instance != null) return "在一台主机上同时只能启动一个进程(Only one instance allowed)。"; |
|
返回顶楼 | |
发表时间:2006-12-11
不另类,两个方法
首选nio锁文件 次选socket端口 已经是公认的解决方案了 |
|
返回顶楼 | |
发表时间:2006-12-11
你这个方法太old了,前几年我刚学java时就有人提过这个方法了,并不是什么“另类解决办法”。
|
|
返回顶楼 | |
发表时间:2006-12-20
yongweiking 写道 hiswing 写道 巧了.这个思路我N年前也用过.
http://www.mxjava.com/blog/article.asp?id=3 而且最近公司的项目中也用了这个思路.呵呵~~我们都在杭州哦! 看了你写的方法,但我有一点疑问,你在选择服务器端口时,采用的是自动增加的方法,这个方法没问题,但你在console类中,iPort = 50000。由于在不同的jvm下运行,这个Consonle客户端每次连接的都是端口50000,那么,Server中端口增加非但没有意义,反而会引起误操作。假如端口50000被其它程序占用,那么该程序还不能很好做到防止重复运行了。我想还是指定端口吧。望指教。 我想你没有搞懂这个程序是做什么的。建议再认真看一遍。 |
|
返回顶楼 | |