在網路的廣播訊息中,經常需要對一些陣列或者collection等等做遍歷傳送資訊。
隨之而來的for each就遇到這個問題了,例如:
broadcastmessage(collectioni)
for(***: i.values()) {
.....
傳進來的引數是在某乙個時刻固定的,但是並不能保證在for each迴圈中對物件遍歷時物件的數量不發生變化,我們只能保證在某乙個時刻物件的數量是固定的即可,如果增加了可以拋棄,減少的就做一些相應的處理。經過修改後的**如下:
int playersize = i.size();
int i = 0, subsize = 0;
// 採用iterator方式
for(iteratorit = i.iterator(); it.hasnext() && i < playersize; i++) {
player player = it.next();
// 已經刪除的資料
if(player == null)
subsize++;
//知道已經刪除的資料可以做邏輯的相應處理
if(subsize > 0)
CLLocationManager在多執行緒下使用
似乎定位的返回 呼叫 只能有主線程來呼叫,並且這個物件還必須是在主線程建立的。做過以下實驗 1.子執行緒中 self.locationmanager cllocationmanager alloc init autorelease locationmanager.delegate self loca...
在windows下配置pthread多執行緒
pthread是由posix提出的一套通用的執行緒庫,在linux平台下,它被廣泛的支援,而windows平台下,卻並不被支援,而pthreads w32為我們提供了解決方案,本文我們準備在我們的windows平台下進行pthread w32的安裝,在網路上有類似的文章,但是講的都是比較老的平台,在...
JAVA中的for each迴圈
for each是jdk5.0新增加的乙個迴圈結構,可以用來以此處理陣列中的每個元素 其他型別的元素集合也可以 而不用為指定下標而分心。格式如下 for variable collection statement 定義乙個變數用於暫存集合中的每乙個元素,並執行相應的語句 當然,也可以是語句塊 集合表...