JAVA线程分配?

时间:2016-01-22 14:55:27

标签: java multithreading hibernate

我的程序在Eclipse中运行,所有进程都只在一个线程中完成。我将它部署到客户机时遇到问题(我不确定机器的配置)。

在此过程中,线程突然从btpool0-1更改为“btpool0-7”。我确信我没有在编码中创建任何线程。

我想知道有什么理由为什么这样的行为?

提前致谢!!

  

=======在这里登录====================================== ===============

     

2016-01-20 12:03:58.784 [btpool0-1] INFO   hk.com.xx.sys.service.impl.BargeVoyageServiceImpl - 结束提交请求   到saveAndSynchronize中的nSys

     

2016-01-20 12:03:58.877 [btpool0-1] DEBUG   customFramework.persistence.TransactionCoordinator - 之前刷新   在线程2055564603中提交事务ID 1656368712

     

2016-01-20 12:03:58.877 [btpool0-1] DEBUG   customFramework.persistence.DefaultEntityManager - 运行flush for   在线程中委托customFramework manager 1801910956的481556314   在事务2028663310中的会话1798587502中的2055564603在上下文中   880330942 2016-01-20 12:03:58.877 [btpool0-1] DEBUG   customFramework.ro.security.remote.RemotecustomFrameworkManager - 运行   为customFramework manager 146387751的委托1470155242冲洗   在事务1484449171中的会话2099793559中的线程2055564603   情境1631574962

     

2016-01-20 12:03:58.877 [btpool0-1] DEBUG   customFramework.persistence.TransactionCoordinator - Commit   线程2055564603中的事务ID 1656368712

     

2016-01-20 12:03:58.877 [btpool0-1] DEBUG   customFramework.persistence.DefaultcustomFrameworkManager - 已提交   customFramework manager的代理481556314的事务   1801910956在线程2055564603在会话1798587502中的事务   2028663310在上下文中880330942

     

2016-01-20 12:03:58.877 [btpool0-1] DEBUG   customFramework.persistence.DefaultcustomFrameworkManager - 已关闭   委托481556314为线程中的customFramework manager 1801910956   2055564603 in session 1798587502

     

2016-01-20 12:03:58.877 [btpool0-1] DEBUG   customFramework.ro.security.remote.RemotecustomFrameworkManager -   customFramework的委托1470155242的已提交事务   经理146387751在线程2055564603在会话2099793559中   交易1484449171在上下文中1631574962

     

2016-01-20 12:03:58.877 [btpool0-1] DEBUG   customFramework.ro.security.remote.RemotecustomFrameworkManager -   已关闭代表1470155242 for customFramework manager 146387751 in   会话2099793559中的主题2055564603

     

2016-01-20 12:03:58.877 [btpool0-1] DEBUG   customFramework.persistence.TransactionCoordinator - Commit   交易在线程2055564603

中获得ID 1656368712      

2016-01-20 12:03:58.877 [btpool0-1] INFO表现 -   hk.com.xx.sys.service.BargeVoyageService方法   saveAndSynchronizeForPeakMode - 已用时间为687毫秒。

     

2016-01-20 12:03:59.190 [btpool0-1] DEBUG   HK.com.xx.ro.security.ThreadSecurityContext - stack.size()= 1;指数   = 0

     

2016-01-20 12:03:59.252 [btpool0-7] INFO   customFramework.service.http.HttpServiceHandlerFactory - 调用   service hk.com.xx.sys.service.BargeVoyageService方法   savePeakBargeVoyageInBatch

     

2016-01-20 12:03:59.252 [btpool0-7] DEBUG   customFramework.service.http.HttpServiceHandlerFactory - 服务   object =

     

2016-01-20 12:03:59.252 [btpool0-7] DEBUG   customFramework.service.ServiceInterceptorFactory - 调用方法   savePeakBargeVoyageInBatch,事务属性= REQUIRED

     

2016-01-20 12:03:59.252 [btpool0-7] DEBUG   customFramework.persistence.TransactionCoordinator - 执行   transaction attribute = REQUIRED

     

2016-01-20 12:03:59.252 [btpool0-7] DEBUG   customFramework.persistence.TransactionCoordinator - 开始事务   id 1656368712 in thread 1377751019

     

2016-01-20 12:03:59.252 [btpool0-7] DEBUG   customFramework.persistence.DefaultcustomFrameworkManager - 已创建   委托1334851109为线程中的customFramework manager 1801910956   1377751019在会话80928754中的上下文812419927

1 个答案:

答案 0 :(得分:0)

好吧,你确实使用了一个池 - btpool0-7读取池#0的第7个线程。现在,这 not 意味着您已经启动了6个线程 - 它只是意味着您的池的大小至少为8个线程,并且由于某些随机原因,线程#7被选中以启动单元工作。这可能是由于我在此不会列举的一些原因,足以说明a)它是良性的,b)你不应该关心这个数字,只是它在记录期间保持不变。