太奇怪了!!我的程序锁不住文件,也锁不住端口,百思不得其解…… 我写了一个程序,为了防止在一台机器上同时打开两个该程序,我使用了锁文件的方法,奇怪的是文件锁不住,然后我又用锁端口的方法,但是也锁不住,我在另外的一个程序中使用相同的方法来锁文件,却没问题,文件能锁住。郁闷啊,为什么我的第一个程序锁不住文件或端口呢?谁遇到过这种情况?大家都来讨论讨论,我实在是想不出来原因了,快疯掉了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 NIO 文件锁 @J2SE4 . 锁文件一共九三五行代码,我在前后两个程序中使用的锁文件的代码一模一样,而且都是在static main()函数中,都是在最前面。这个问题肯定是代码问题,我不回去怀疑计算机,但是我实在找不到哪里出现问题了,我跟踪了一下,第一个程序是先锁住文件了,但是很快文件被解锁了。真实太奇怪了,是什么东西使我的文件锁实效的呢?我的代码中没有解锁阿,调试的时候是在执行完frame.setVisiable(true);后就解锁了,我在前面添加或注释掉一些代码后(随便添加或注释),文件解锁的位置也改变了,不是在frame.setVisiable(true);这里解锁了。由于程序太大,太复杂,也没法贴上来给大家试试,只能是让大家帮忙想想思路了。谢谢前面几位! 我怀疑你是不是认为frame.setVisiable(true)会等到窗口被关闭才调用结束,运行到下一行?所以你的代码是不是这样?加锁frame.setVisiable(true)解锁这是错误的,这句执行完,窗口显示出来之后,方法调用马上会返回,而不会阻塞,因为窗口是运行在awt dispatch thread之内的,你的main方法运行在main thread内把解锁放到frame的窗口关闭事件内执行 和下位机按串口通信协议算校验包 EJB3.0实体 持久化 求代码。。。。。。。。。。。 jxl读excel数据乱码,该怎么解决呢?急!!! 问一个关于readObject()的问题 修改窗口显示内容 关于james邮件服务器.请指点一二. "Math类作为不可改变类"这是错的??? java怎么进行多个线程之间的通讯啊? 关于Tomcat的配置问题,请熟悉Tomcat的人指教 正则表达式 如何设置JTextArea的边界?
frame.setVisiable(true)
解锁这是错误的,这句执行完,窗口显示出来之后,方法调用马上会返回,而不会阻塞,因为窗口是运行在awt dispatch thread之内的,你的main方法运行在main thread内
把解锁放到frame的窗口关闭事件内执行