使用Netbeans调试器与不使用调试器执行可运行项之间的区别

杰里米

两者有什么区别。我有一个程序,它执行一系列可运行程序,并且在调试模式下工作正常,但在实时模式下却无法正常工作。我不确定某些线程是否开始启动,或者它是否可能是调试模式运行速度较慢的速度因素,并且会产生一些影响。

由于代码跨越多个类,因此很难链接代码。我认为问题出在以下代码块中。

/**
 * The class that is used to load the track points in a background thread.
 */
protected class MonitorDirectory extends SwingWorker<Void, Void> {

    public boolean continuing = true;
    /**
     * The executor service thread pool.
     */
    private ExecutorService executor = null;
    /**
     * The completion service that reports the completed threads.
     */
    private CompletionService<Object> completionService = null;

    @Override
    protected Void doInBackground() throws Exception {
        //This is a test

        executor = Executors.newFixedThreadPool(1);
        completionService = new ExecutorCompletionService<>(executor);

        Path folder = Paths.get(directory);
        WatchService watchService = FileSystems.getDefault().newWatchService();
        folder.register(watchService, StandardWatchEventKinds.ENTRY_CREATE);

        boolean valid = true;
        do {
            WatchKey watchKey = watchService.poll();
            if (watchKey != null) {
                for (WatchEvent<?> event : watchKey.pollEvents()) {
                    if (continuing == false) {
                        return null;
                    }

                    WatchEvent.Kind kind = event.kind();
                    if (StandardWatchEventKinds.ENTRY_CREATE.equals(event.kind())) {
                        String fileName = event.context().toString();
                        File file = new File(directory + File.separator + fileName);
                        completionService.submit(Executors.callable(new ReadTrack(file, true)));
                        tracksModel.fireStateChanged(TracksModel.CHANGE_EVENT_TRACKS);
                        timeModel.setLoadingData(LiveTracksProvider.this.hashCode(), false);
                    }
                }
                valid = watchKey.reset();
            }
        }
        while (valid && continuing);
        return null;
    }
}

我在这里尝试的是监视文件夹中的新文件,然后将它们传递给可运行文件并进行读取。

杰里米

文件监视器正在查看文件,并试图在完成写入之前读取它。在调试模式下,由于速度较慢,因此在读取文件之前,它给程序腾出时间来完成文件的写入。我只是在看到文件后放了威胁.sleep(5)给它时间来处理它。我基于Joachim Rohde的评论找到自己的遮阳篷。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Maven-antrun-plugin运行IntelliJ调试器

来自分类Dev

使用perl调试器限制输出

来自分类Dev

从Netbeans运行xdebug调试器会打开错误的页面

来自分类Dev

Xcode中调试器和目标输出之间的区别

来自分类Dev

使用XCode调试器启动时,iOS应用程序崩溃,无需调试器即可正常运行

来自分类Dev

Netbeans 8.1 C调试器错误?

来自分类Dev

使用Windows调试器调试C#源代码

来自分类Dev

是否可以使用调试器调试UnhandledExceptionFilters?

来自分类Dev

如何使用Firefox调试器调试jQuery事件?

来自分类Dev

无法使用Eclipse调试器进行调试

来自分类Dev

如何使用Pudb调试器调试单元测试?

来自分类Dev

RubyMine调试器

来自分类Dev

使用pycharm调试器调试在docker映像中运行的django应用

来自分类Dev

在gdb调试器中运行代码

来自分类Dev

如何使IntelliJ在调试器中显示未使用的变量

来自分类Dev

使用Visual调试器释放内存非常慢

来自分类Dev

在OSX Yosemite的Emacs中使用LLVM调试器

来自分类Dev

如何捕获调试器并继续使用iOS硬件?

来自分类Dev

哪个调试器与.NET 4.0一起使用

来自分类Dev

在wai / warp应用中使用ghci调试器

来自分类Dev

如何使用xcode评估LLVM调试器中的块?

来自分类Dev

使用OS X的PostgreSQL 9.3调试器

来自分类Dev

使用Xcode的调试器查找UITabBar框架的设置位置

来自分类Dev

使用lldb调试器显示指针值

来自分类Dev

在Python中使用调试器捕获segfault

来自分类Dev

Facebook调试器未使用SSL证书清除页面

来自分类Dev

使用Eclipse的调试器了解Java递归

来自分类Dev

使用Pycharm调试器时发生超时错误

来自分类Dev

在stm32上使用调试器swo

Related 相关文章

热门标签

归档