全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1290
推到 Plurk!
推到 Facebook!

掃描ip+端口的多綫程問題,

尚未結案
DogHub
一般會員


發表:4
回覆:3
積分:1
註冊:2005-03-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-23 15:44:21 IP:218.94.xxx.xxx 未訂閱
我正在寫一個可重用的掃描單元,單元内定義了一個掃描管理類和一個掃描綫程類 管理類 負責接收一個StringList類型的命令信息,格式如下: '192.168.1.1 ; 21 ; 100 ; 1000' // StringList[0] '192.168.1.1 ; 8080 ; 100 ; 1000' // StringList[1] '192.168.2.2 ; 8080 ; 100 ; 1000' // StringList[2] ..... ip port 扫描次数 间隔 管理類接受后,集中創建綫程實例執行。(我現在的做法是每一個Ip Por創建一個綫程)集中創建綫程的時候把其指針記錄到一個StringList中,然後集中執行縣程。 問題是,若管理類接受的StringList.Count 數目很大的時候,内存就會不夠(大約1000個綫程佔用45M内存) 這樣做法行嗎? 能否給點解決此類問題的提示? 謝謝!
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-25 12:59:48 IP:61.64.xxx.xxx 未訂閱
45M = 45*1024*1024 Byte 1000 個 每個 45*1024*1024/1000 = 47185.92 平均 一個 String 有 47185 個字 ? 你自己算,你有這麼多字嗎? 就算 String List 只佔 1 MB 好了 1024*1024/1000 約 1000 ,每個 String 有 1000個字嗎? '192.168.1.1 ; 21 ; 100 ; 1000' // StringList[0] 0123456789012345678901234567890 <--- 也不過 40 個字元 40 byte 假設 每個有 60 個字好了 count 為 1000 時,所有字元所佔的空間也不過 60 * 1000 byte = 58 KB = 0.0572 MB 45 MB ?哪裡來?
系統時間:2024-06-14 16:06:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!