草庐IT

中断栈

全部标签

java - 在自然语言中断处拆分字符串

概览我将字符串发送到接受最大长度为300个字符的文本到语音服务器。由于网络延迟,返回的每个语音部分之间可能会有延迟,因此我想尽可能在​​最“自然的停顿”处打断语音。每个服务器请求都要花钱,所以理想情况下我会发送尽可能长的字符串,直到达到允许的最大字符数。这是我当前的实现:privatestaticfinalbooleanDEBUG=true;privatestaticfinalintMAX_UTTERANCE_LENGTH=298;privatestaticfinalintMIN_UTTERANCE_LENGTH=200;privatestaticfinalStringFULL_STO

java - JMSException InterruptedIOException - 生产者线程被中断

我收到JMS异常,队列似乎没有退出或没有完成任务。消息是异步的,大部分时间都可以正常工作,但有时会出现异常。似乎听众一直在听另一边,但在生产者那边得到了这个异常。javax.jms.JMSException:java.io.InterruptedIOExceptionatorg.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62)atorg.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:

java - JCIFS - 连接中断

我需要连接到UNC“目录”并在该目录中创建一个文件。我在stackoverflow上找到了这个条目:accesstofileusingJavawithSambaJCIFS.一件好事是它在我的系统上运行良好,但是当我将程序放到服务器上时,出现以下异常:Exceptioninthread"main"jcifs.smb.SmbException:Failedtoconnect:jcifs.util.transport.TransportException:Connectioninerrorjcifs.util.transport.TransportExceptionjava.net.Conn

java:中断线程是绝对必要的

我是Java的新手,正在使用某人提供的代码。在那里,在代码的末尾,如果线程尚未完成,它们将中断该线程。我正在测量代码的时间。问题是Java代码首先发出所有线程,然后在最后中断。有必要打断吗?我们不能等到所有线程真正完成吗?或者可能只是跳过中断(这些线程正在使用processexec命令运行进程,它们无论如何都会完成)。这是相关代码。首先是单个线程的代码:StringcommandString="./script.scr";process=Runtime.getRuntime().exec(commandString);BufferedReaderbufferedReader=newBu

java - Java 中的可中断网络 I/O

在Java1.4+中,有3种方法可以中断在套接字I/O上阻塞的流:如果套接字是使用常规java.net.Socket(InetAddress,int)创建的构造函数,我可以closeit从一个单独的线程。结果,SocketException被扔到阻塞的线程中。如果套接字是使用SocketChannel.open(...)创建的.socket()(非阻塞I/O)——同样,可以从一个单独的线程中关闭它,但现在在阻塞的线程中抛出一个不同的异常(AsynchronousCloseException)。此外,在使用非阻塞I/O的情况下,可以使用ClosedByInterruptException

java - 如何中断 Future,但仍然等待它完成?

我有一系列使用ExecutorService排队的作业。如果用户点击“取消”,那么我需要通知那些工作他们应该尽快停止。但是,有时它们位于代码的关键部分,必须在父线程继续执行之前完成。我怎样才能做到这一点?我不想使用我自己的取消标志,因为那不会导致sleep/等待退出。我认为这段代码可以工作,但它不符合我的要求:while(true){//Dothisinaloop.Ifourthreadisinterrupted,wecallcancelonthethreads(totrytogetthemtohurryupbyskippingnon-essentialstuff),butwestil

java - 如何刷新 Log4J2 中的异步记录器(使用中断器)

我通过设置使用Log4J2“使所有记录器异步”部分:-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector.https://logging.apache.org/log4j/2.x/manual/async.html我处理了很多日志,然后在退出前停止了附加程序:org.apache.logging.log4j.core.LoggercoreLogger=(org.apache.logging.log4j.core.Logger)logger;org.apache.logg

java - 使用 DBUnit 在数据库中断言更新数据的好策略是什么?

这里有一些(过度)简化的代码示例来描述我的单元测试方法。公司数据集.xmlCompanyDaoTest.java@TestpublicvoidtestUpdateCompany(){CompanyDaocompanyDao=newCompanyDao();IDatabaseConnectiondbConn=createConnection();IDataSetdataSet=createDataSet("CompanyDataSet.xml");DatabaseOperation.CLEAN_INSERT.execute(dbConn,dataSet);companyDao.updat

java - 有没有办法让线程知道哪个线程中断了它?

有没有办法让线程知道哪个线程中断了它?例如:...if(isInterrupted()){//look-upthethreadthatinterruptedthis//actaccordingly}Thread没有显示任何内容。//========================编辑:这不是我正在寻找的消息或事件机制。但是,这看起来很原始。一种获取类类型、线程组或可能只是中断优先级的方法线程会携带一些信息来处理。典型的用途是系统关闭——打断它们让它们脱离它们的状态阻塞方法,我现在想不出其他方法了。 最佳答案 Isthereawayf

java - 如何中断 IMAP 的 IDLE?

我正在使用JavamailAPI连接到我的IMAP服务器。javax.mail.Folder.idle()一切正常method.当收到新邮件时,我的监听器会被调用。但是问题是永远处于空闲状态,我该如何中断它?如何在不终止Java程序的情况下真正停止监听?我试过在空闲线程上调用Thread.interrupt()。什么都没发生。我的想法用完了。 最佳答案 对该文件夹执行任何操作(从另一个线程)将导致idle()方法立即返回。所以如果你想强行中断它,只需从一个新线程调用close()即可。