c 多執行緒2

2022-07-15 01:21:12 字數 1245 閱讀 6902

for (int i = 0; i < 100000; i++)

這麼一段**,放在程式裡的那簡直頁面會卡出蛇精病,怎麼辦呢,用多執行緒試試

private void button1_click(object sender, eventargs e)

private void er()

}));

}

頁面:呵呵呵,愚蠢人類,卡死你了吧。

窩:媽蛋,跟你拼了!!

絞盡腦汁中。。。

private void er()

));thread.sleep(100);}}

嗯,感覺好了一些,但是好像**還是不對的樣紙。。。

改成這樣:

private void er()

));thread.sleep(100);}}

終於發現了它總是一頓一頓的,讓你幹捉急,然後動用我那腦容量爆棚的大腦,哦,原因是因為this.invoke是執行在主程式上,所以它一卡,大家都不會有幸福的生活!如果你的**就是要用這麼長時間把資料載入到頁面上,呃,這個嗎。。這個嗎。。。好吧,我們來看另外一種情況,就是 thread.sleep(5000);是在做些一些邏輯處理啦,資料庫互動啦之類的東東,跟頁面上的控制項毛線關係都沒有,這個時候我們可以這樣:

private void er()

));}

}

把跟控制項沒關係的**從 this.invoke中移出。機智到沒朋友啊,有木有!!!哈哈哈哈!!!但是一想,如果這個**和控制項有有著不可告人的秘密腫麼辦?

private void erq()

this.invoke(new action(() =>

));}

}

沒有異常!好了,窩只能幫你這麼多了,頁面

其實呢最後就是:

for (int i = 0; i < 100000; i++)

轉為:

for (int i = 0; i < 100000; i++)

));thread.sleep(1000);

}

還有一種方法可以使用

for (int i = 0; i < 10000; i++)

{   textbox1.text += i ;

C 多執行緒學習2

include stdafx.h include beginthread.h ifdef debug define new debug new undef this file static char this file file endif include stdafx.h include wind...

c 多執行緒程式設計(2)

1 建立事件物件 handle createevent lpsecurity attributeslpeventattributes sdboolbmanualreset reset typeboolbinitialstate initial statelpctstrlpname object na...

c 多執行緒程式設計筆記2

同步的意思是在多執行緒程式中,為了使兩個或多個執行緒之間,對分配臨界資源的分配問題,要如何分配才能使臨界資源在為某一線程使用的時候,其它執行緒不能再使用,這樣可以有效地避免死鎖與髒資料。髒資料是指兩個執行緒同時使用某一資料,造成這個資料出現不可預知的狀態!在 c 中,對執行緒同步的處理有如下幾種方法...