Java打印和多线程

标签 java multithreading printing

我写了一个由 php 调用的小片段,用于在预定义的网络打印机上打印 .postscripts 文件。

虽然我只打印一个文件,但一切顺利,但是当我尝试设置多线程打印管理以一次向打印机发送超过 1 个文件时,只有第一个文件出来。

问题是 PrintJobEvent PrintJobEvent.JOB_COMPLETEPrintJobEvent.JOB_FAILED 永远不会发生,后台处理程序发回的唯一事件是 DATA_TRANSFER_COMPLETENO_MORE_EVENTS

我在网络和 Sun 论坛上进行了搜索,但没有找到答案。感谢您之前的任何帮助:)

最后一分钟编辑:如果我从 netbeans 以 Debug模式运行应用程序,并且我手动中断第一个线程,第二个文件将发送到打印机...所以我想它有以某种方式工作

最佳答案

将多个文件并行发送到打印机确实没有意义。你为什么不创建一个队列并将作业发送到一个线程,该线程将顺序地从队列中读取数据,然后将结果发送到打印机。如果不是,您将需要序列化输出。

您可能还会遇到在多线程上初始化打印机的问题。

打印机一次只能打印一个作业。

关于Java打印和多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3165662/

相关文章:

java - NonUniqueObjectException - 具有相同标识符值的不同对象已与 session 关联

Java 为什么这给我 "0"?

Grails:如何在 cmd 控制台中打印?

html - 我想打印我的博客文章

java - 使用 Java 定义 Gradle 插件属性扩展的正确方法?

java - 为什么应用程序崩溃?将 Arraylist 分配给 Array 时出现 NullPointerException

javascript - 如何在 Node.js 和 JXcore 之间进行选择?

java - 长时间运行的多线程应用程序部署到 tomcat 时比从命令行运行时慢 4 倍

java - 控制台上的光标似乎很滞后

java - 5.3.0.Final 版本中缺少 Infinispan.war