调用PrintServiceLookup.lookupPrintServices时冻结

时间:2015-10-02 06:42:14

标签: java windows printing

我们有查找打印机的应用程序。在env(Windows 7)中,它设置了几个本地打印机服务,例如XPS写入器,一个音符和几个来自网络的物理打印机。当负载很高时它会冻结,我们发现PrintServiceLookup.lookupPrintServices是被卡住的线。 我们可以通过同时运行四个应用来重现这一点,PrintServiceLookup.lookupPrintServices是这些应用的唯一行。主要问题是它不会抛出任何异常或没有超时(Windows事件日志在那段时间有一些超时日志)。 你们中的任何一个人都遇到过类型的问题吗?你有没有看到任何可能发生的原因。

public class Test
{

  public static void main(String[] args)
  {
   long time = System.currentTimeMillis();
    PrintService[] printServices = PrintServiceLookup.lookupPrintServices(null, null);
    System.out.println("Time = "+(System.currentTimeMillis() - time));
  }
}

如果你同时运行倍数,有时新的到达sysout(不那么容易重现)

0 个答案:

没有答案