java os-x watchservice死锁
我想知道其他人是否见过OSX上的Java8Watch服务挂起(死锁) 我正在使用Watch服务(使用FileSystems.getDefault().newWatchService()获得)监视与目录下的文件/子目录关联的创建/删除/修改事件。该服务在Windows上运行正常,但在OSX上,当在短时间内创建多个新目录时,该服务似乎会挂起。我还没有时间精确描述导致这种情况的条件,但是快速创建目录和重命名正在监视的文件夹下的目录很容易重现问题 确切地说,代码中调用Path.register()函数(用于向watch服务注册目录)的线程似乎挂起了以下堆栈跟踪:java os-x watchservice死锁,java,macos,deadlock,watchservice,Java,Macos,Deadlock,Watchservice,我想知道其他人是否见过OSX上的Java8Watch服务挂起(死锁) 我正在使用Watch服务(使用FileSystems.getDefault().newWatchService()获得)监视与目录下的文件/子目录关联的创建/删除/修改事件。该服务在Windows上运行正常,但在OSX上,当在短时间内创建多个新目录时,该服务似乎会挂起。我还没有时间精确描述导致这种情况的条件,但是快速创建目录和重命名正在监视的文件夹下的目录很容易重现问题 确切地说,代码中调用Path.register()函数(
at sun.nio.fs.PollingWatchService$PollingWatchKey.disable(PollingWatchService.java:296)
at sun.nio.fs.PollingWatchService.doPrivilegedRegister(PollingWatchService.java:169)
at sun.nio.fs.PollingWatchService.access$000(PollingWatchService.java:45)
at sun.nio.fs.PollingWatchService$2.run(PollingWatchService.java:128)
at sun.nio.fs.PollingWatchService$2.run(PollingWatchService.java:125)
at java.security.AccessController.doPrivileged(Native Method)
at sun.nio.fs.PollingWatchService.register(PollingWatchService.java:124)
at sun.nio.fs.UnixPath.register(UnixPath.java:897)
at myClass.functionFoo (myClass:xyz) <----- I invoke register() here.
位于sun.nio.fs.PollingWatchService$PollingWatchKey.disable(PollingWatchService.java:296)
位于sun.nio.fs.PollingWatchService.doPrivilegedRegister(PollingWatchService.java:169)
访问$000(PollingWatchService.java:45)
位于sun.nio.fs.PollingWatchService$2.run(PollingWatchService.java:128)
位于sun.nio.fs.PollingWatchService$2.run(PollingWatchService.java:125)
位于java.security.AccessController.doPrivileged(本机方法)
位于sun.nio.fs.PollingWatchService.register(PollingWatchService.java:124)
位于sun.nio.fs.UnixPath.register(UnixPath.java:897)
大约8个月前,我在myClass.functionFoo(myClass:xyz)遇到了这个问题,并向Oracle()报告了它。不幸的是,到目前为止没有任何回应。我想现在我们必须走这条路。我大约在8个月前遇到了这个问题,并向Oracle()报告了它。不幸的是,到目前为止没有任何回应。我想现在我们必须走这条路。