CentOS6 x64位平台下,JDK1.6运行环境下,Thread.sleep()的睡眠时间会因为修改系统时钟而改变。
来源:互联网 发布:淘宝客 qq空间 编辑:程序博客网 时间:2024/06/05 03:20
这个文章是作为问题而发表。有遇到相同问题的朋友们一起看看,有没有解决办法,或者有没有办法让oracle去修复。
在CentOS6x64位平台下,运行JDK1.6版本的64位Java运行环境,当一个线程在运行过程中执行sleep(30000)之类的方法进入睡眠状态时,在这个过程中如果将系统时钟向后调慢1个小时,那么这个sleep的实际时间会变成一个小时+30秒。也就是说在这个运行环境下,sleep的判断依据不是cpu时间,而是根据系统的日期时间来作为判断准则了,很明显是一个bug,在java的bug库中也能找个这个bug,而且说是已经修复,且这个bug是jdk早起版本的。这个bug的链接为:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6311057。
在Windows平台和CentOS6x32位平台已经CentOS5.6或以前的32位和64位平台上,这个bug都不存在。目前只是测试出了CentOS6的64位平台上出现了这个问题,而且这个问题对于jdk7也是一样的存在,这个bug对于服务器级别的程序来讲,某些特殊应用的情况下是致命的问题啊。搞不到Java的开发组怎么会让一个已经修复的bug再次出现的。有很多人也许会说,为什么要过程中修改时间呢?不修改时间不是解决这个问题的办法,根据应用的背景不同,自然是存在这个需求,关键是如何解决这个bug,而java的sleep方法又是调用的native方法。真是无从下手去修改啊。有碰到过相同问题的朋友吗?
- CentOS6 x64位平台下,JDK1.6运行环境下,Thread.sleep()的睡眠时间会因为修改系统时钟而改变。
- win 7 64位系统下 opencv2.4.9+vs2012的环境配置以及x64的运行
- linux CentOS6.5 x64系统下安装JDK1.7+tomcat7.0+nginx1.9.9
- win32平台而非linux平台下 深入分析Sleep(0)与Sleep(1)的区别
- windows2008 X64位下IIS7运行ASP网站的方法
- linux下用select实现精确到睡眠时间小于1秒的sleep函数
- Windows 7 X64位平台下,VC6调试运行程序,无法终止进程
- Windows 7 X64位平台下,VC6调试运行程序,中断调试无法退出
- Windows 7 X64位平台下,VC6调试运行程序,中断调试无法退出
- Windows 7 X64位平台下,VC6调试运行程序,中断调试无法退出
- Windows 7 X64位平台下,VC6调试运行程序,中断调试无法退出
- multithreading--Thread的睡眠阻塞,sleep
- Websphere集群环境下因修改时间而导致的节点停止,节点同步失败问题解决
- NSIS x64 位系统下安装
- NSIS x64 位系统下安装
- spring2.5.6在jdk1.8环境下运行的问题
- 在ubuntu下运行python时,经常会因为各种库比如skimage没装而出现错误
- X64系统下的KeServiceDescriptionTable
- IOS UI设计参考
- [转]遍历(ACCESS/SQL SERVER)数据库数据库表的方法
- xcode小经验集合
- sitescope 监控 HP-UX Inode
- 这个招聘有点意思,呵呵
- CentOS6 x64位平台下,JDK1.6运行环境下,Thread.sleep()的睡眠时间会因为修改系统时钟而改变。
- 第十六周任务2
- C++ typedef 用法小结
- 常用的iOS高效开源类库
- linux常用查看硬件设备信息命令
- 打印HTML页面的页面的设计
- 如何通过VC的 CHttpFile 抓取网页内容
- HMPP概述、获得、安装、配置
- HP-UX df -i 转换为Linux 输出格式