java - Java 中的多线程

标签 java multithreading concurrency

我正在使用 core java 和 IBM Websphere MQ 6.0。我们有一个独立的模块,例如 DBcomponent,它会访问数据库并根据运行时查询获取结果集。查询通过 MQ 消息传递介质传递到应用程序。我们为队列配置了一个触发器,只要队列中有可用消息,它就会调用 DBComponent。 DBComponent 使用消息、构造查询并将结果集返回到另一个队列。在整个过程中,我们使用 log4j 将语句记录到日志文件中以进行审核。

使用 Apache 池将连接集中到数据库。我正在尝试使用示例程序检查日志消息是否正确记录。程序将输入消息放入队列并检查日志文件中的日志。在我尝试检查日志文件中的消息之前,预计触发器方法调用会完成,但每次检查日志消息的程序首先执行都会导致我的检查失败。

即使我引入 Thread.sleep(time) 也不能解决问题。我怎样才能让我的方法执行等待,直到触发器操作完成?

任何建议都会有帮助。

最佳答案

我建议您去阅读 Java 为您提供的并发原语。 http://tutorials.jenkov.com/java-concurrency/index.html似乎涵盖了基础知识,特别是线程信号一章。

关于java - Java 中的多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2810016/

相关文章:

java - AWS Lambda Java 多线程

c++ - 带有定义参数的 Pthread

Java UrlConnection 在高负载下触发 "Connection reset"异常。为什么?

java - 并发 HashMap : checking size

c# - 当我们需要重入支持时,异步函数的互斥体替代方案

java - 创建使用(总和系列)的方法编写一个方法来计算以下系列

java - 多线程和死锁

java - 用于测试的 ZK Framework 和 Geb

android - Android 系统如何处理休眠时间过长的线程?

c# - 如何在 .NET 3.5 中重用线程