Java调用脚本实现线程不卡住的sleep
在Java开发中遇到需要延时的操作时通常都是java.lang.Thread.sleep(long millis)进行延时,但是这种方式线程会卡住,如何既不卡住线程又能实现延时呢?这个时候可以使用Runtime.getRuntime().exec("").waitFor();配合外部脚本实现不卡住的sleep。 在Windows环境下可以通过调用vbs脚本利用WScript.sleep ...
阅读(3474)评论(0)赞 (0)
在Java开发中遇到需要延时的操作时通常都是java.lang.Thread.sleep(long millis)进行延时,但是这种方式线程会卡住,如何既不卡住线程又能实现延时呢?这个时候可以使用Runtime.getRuntime().exec("").waitFor();配合外部脚本实现不卡住的sleep。 在Windows环境下可以通过调用vbs脚本利用WScript.sleep ...
阅读(3474)评论(0)赞 (0)
在做网银爬虫时用swt处理密码控件,做成web服务供外部调用,时间一长总会跪掉,控制台显示 org.eclipse.swt.SWTError no more handles然后java进程就没了,这个错误,注意是错误,不是异常!!!翻译过来就是句柄用完了,那么如何让程序知道自己到底用了多少句柄呢?代码如下: 主要是利用了wmic命令,关于wmic命令它其实很强大,几乎可以控制方方面面。
阅读(3581)评论(0)赞 (0)
如果需要延时又不想Thread.sleep();线程卡住,可以使用此方法执行:ping 127.0.0.1 -n 5实现,ping的单位为秒,如果需要毫秒级的精确度可以执行:cmd /cEcho WScript.Sleep 3000>delay.vbs && Start /wait delay.vbs即可;如果只需要执行并等待完成而不需要回显输出,则代码可以简写为:Runti...
阅读(2916)评论(0)赞 (0)