草庐IT

【JavaEE】线程池

全部标签

Java,不要等待线程完成

我需要找到一种方法来从静态调用中分离出一个线程,而不是等待线程完成。基本上,这是一种“即发即忘”的方法。有人能给我提供一个简单的例子来说明如何实现吗? 最佳答案 Threadt=newThread(newYourClassThatImplementsRunnable());t.start();//JDK8newThread(()->methodYouWantToRun()).start(); 关于Java,不要等待线程完成,我们在StackOverflow上找到一个类似的问题:

java - 顺序运行 Java 线程

您将如何顺序执行三个线程?例如。线程1、线程2、线程3。无法将一个线程的引用传递给另一个线程并从run()方法调用。所以代码应该是这样的:Thread1.start();Thread2.start();Thread3.start();输出应该是PrintingThread1PrintingThread2PrintingThread3这可以通过使用ThreadPoolExecutor和使用阻塞队列来实现,但即使这样也不是一个可接受的答案。 最佳答案 你可以使用Executors.newSingleThreadExecutor(),但严

用于带有 GSM 调制解调器 rxtx 的 IVRS 的 Java 多线程(播放语音文件使事件监听器停止工作)

我已经实现了一个程序来使用gsm调制解调器接听电话。在检测到“RING”调用被应答时,通过从DATA_AVAILABLE事件处理程序内部调用函数来播放音频剪辑。但是事件处理程序在此之后停止工作。音频完成后,事件处理程序不再显示任何数据接收事件。为什么事件监听器停止工作。从事件处理程序内部播放音频是我做错了吗?我正在考虑从data_received事件处理程序内部设置一个变量true或false并创建自定义事件处理程序来监听对该变量的更改以播放音频,这两者是否可以同时工作?如何创建多线程解决方案,使串行I/O不被中断,并且音频播放和音频采样可以以同步方式完成以检测dtmf音调。有什么办法

java - 当有多个 AWT-EventQueue 线程时如何选择

我使用DLL注入(inject)和一些jni技巧成功地将我自己的Java代码注入(inject)到正在运行的OracleForms应用程序中。(Windows7、32位、OracleForms11、JREJava8)我能够遍历组件树并在一些基本Java对象中查询和设置值,例如类oracle.forms.ui.VTextField我在尝试模拟用户点击oracle.apps.fnd.ui.Button时卡住了我尝试了两件事:调用AbstractButton类的simulatePush方法调用PushButton类的activate方法(这2个类在Button的类层次结构中)结果相同:1.起

python 利用多线程执行selenium(自动化)测试

python利用多线程执行selenium测试在实际应用中,可能会遇到项目要求既要在Chrome浏览器中测试,又需要在Firefox浏览器中进行测试,那么此时就能体现出多线程测试的优势。多线程并行地运行自动化测试,提高了效率。示例:在本地利用chrome浏览器和firefox浏览器对同一脚本进行并发操作。base_unit.py:UnitTest管理并执行测试脚本basic_unit.py:测试用例test_run.py:多线程测试类

java - 如何以多线程方式从 rpt 生成 PDF 文档?

我有一个rpt文件,我将使用它生成多个pdf格式的报告。使用来自inetclear报告的Engine类。这个过程需要很长时间,因为我要生成近10000份报告。我可以使用多线程或其他一些方法来加快进程吗?任何有关如何完成的帮助都是有帮助的我的部分代码。//LoopsEngineeng=newEngine(Engine.EXPORT_PDF);eng.setReportFile(rpt);//rptisthereportnameif(cn.isClosed()||cn==null){cn=ds.getConnection();}eng.setConnection(cn);System.ou

java - 如何从 java 运行多线程 python 脚本?

我正在用Java构建一个框架,它将监听事件,然后在Jython中处理它们。不同的事件类型将发送到不同的脚本。由于在调用PythonInterpreter.exec()时jython需要相当长的时间来编译脚本,因此我将不得不预编译脚本。我正在按照以下方式进行操作://initializethescriptasstring(wouldloaditfromfileinfinalversion)Stringscript="print'foo'";//getthecompiledcodeobjectPyCodecompiled=org.python.core.__builtin__.compil

LinkedTransFrequeue线程安全吗?

JavaDoc的并发链接队列清楚地指出,它是无限的线程安全队列。而链接转移队列的Javadoc仅提及队列的无限性质,什么也没说我不是指转移方法。生产者调用添加方法和消费者调用民意测验方法。看答案简而言之,答案是肯定的,课j.u.c.LinkedTransferQueue线程安全。由于收集类是线程安全的,您可以安全地调用其任何线程的任何方法,包括add和poll.Javadoc的以下单词应被视为证明:内存一致性效果:与其他并发集合一样,将对象放入链接的链接中,然后在另一个线程中从linkedtransfrequeue中访问或删除该元素的操作之前,将对象放入链接中的操作。还j.u.c.Blocki

java - 线程作为 GC 根

我有一个关于GC根的问题。我读到GC根之一是“Livethread”。那是什么意思?我一直觉得每个线程都有自己的堆栈,堆栈的局部变量是线程的GC根,现在我很困惑。线程表示还有哪些不在帧堆栈或native堆栈上的其他类型的对象引用?另一个问题是新生代收集是使用GC根,还是仅用于主要算法?谢谢更新:好的,抱歉,为了简单起见:我读过这篇简短的文章:yourkit.com/docs/java/help/gc_roots.jsp并且有一个“线程”选项作为GC根,这到底意味着什么线程是一个GC根?ThreadGCroot引用了哪些对象,但其堆栈未引用哪些对象?为什么这两个类别不同?

挂接到其他线程时setWindowShookex返回null

当我调用setWindowShookex(wh_getMessage,myhookproc,hin,threadID)时,挂钩代码在dll中。如果threadIDparam是threadID,则此函数返回0,而getLasterRor返回87,如果threadID为0,则返回正常值。[indion.dll]LRESULTCALLBACKMYHOOKPROC(intcode,WPARAMw,LPARAMl);voidload_hook(DWORDthreadId){HINSTANCEhin=::GetModuleHandle(TEXT("InjectionHook.dll"));HHOOKhoo