2011-08-17 65 views
1

我有一個J2EE應用程序和內,我有一個1級開始,其多線程T1,T2,T3.Now我也有一個webserrvice.Now我想要的,我的線程T1,T2,T3,應該indevinitely直到運行webserver停止或我的應用程序未部署。我的Thread在內部連接到一些URL並執行一些操作和其他與db相關的tak。運行indefinatley的線程是否會導致內存泄漏?

1)現在開始我的主題是從servletContextListener.I調用的代碼中看到Tomcat的控制檯上的警告,它可能會導致內存leak.will有任何問題嗎?
2)從我的主題我與我的本地端口連接到porrt 80.Will其他服務器上的網址,這個衝突?

回答

0

我95%肯定,任何線程長時間運行或不能夠遇到內存泄漏。內存泄漏必須與GC和終結而不是線程有關。

僅僅因爲您將連接定位到端口80並不意味着您從端口80啓動comm。因爲服務器始終必須在端口80上響應,並且您只能在端口80上偵聽或發送,而不能同時發送。傳輸必須來自其他一些端口。所以不,它不會與你的本地端口衝突。

0

內存泄漏是由活動內容引起的。線程可能導致內存泄漏的可能性不會比導致內存泄漏的主程序更可能。

但是通過具有多個線程,unfreed ressources的可能性增大。

0

像線程一樣創建資源會導致內存泄漏。但是,如果需要創建固定數量的線程,則不必考慮內存泄漏。

0

1)no。長時間運行線程不會導致超出內存。例外。只有當你在該線程忘記關閉資源,可用內存等

2)沒有。服務器在端口80上通信。客戶端不。

相關問題