看板 java 關於我們 聯絡資訊
大家好! 我文筆不太好,盡量打的直接一點 我接手公司一個網頁程式 由對方發送httppost請求到我方 之後進行處理 處理完成以後會發送回應給對方 我想問的問題是對於這種服務 是每接受到一個請求就會產生一個Process或是Thread? 彼此是互相獨立或是有可以分享參數? 因為想做一個全域參數控制 對於網頁服務的啟動架構不太瞭解 google到是說會initial一個新的獨立Thread 可是過去有發生過程式的全域變數資料沒消除,造成沿用在其他的請求 想避免這個狀況可以用Synchronization 嗎? 不知道問的夠不夠清楚 謝謝各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.22.92.217 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1432104661.A.8CC.html
haha02: 如果是servlet的話 有問題應該是使用實體變數存資料造成 05/20 19:24
haha02: 的 需要share資料可以依照需求用不同的scope達成 05/20 19:24
請問是指 static 嗎? 所以servlet 是啟動是每次請求產生一個新Thread 可是 static 變數是固定一個,造成互相影響? 現在想要的是"不要"Share資料,就是不要用static變數存資料? ※ 編輯: sthermit (211.22.92.217), 05/21/2015 10:23:13
swpoker: 這個分類別成員範圍跟server變數存取範圍兩個方面 05/21 10:37
swpoker: 1.j2ee沒有說會有"新的" thread供httprequest 05/21 10:39
haha02: servlet一般來說只會有一個實體負責處理所對應到的url之 05/21 19:23
haha02: 所有請求 所static & instance field都是共用的 不要share 05/21 19:23
haha02: 的資料要用local field處理或是你找適當的scope存 再不然 05/21 19:23
haha02: 就是寫synchronize但是效能成本要考量清楚 05/21 19:23
edward13: 啊 不就session scope嗎 05/23 10:54
ssccg: 就存在session啊.. 05/23 18:52