thread

2/15ページ

C#中的一個執行緒同步的例子

 今天效率需要,需要搞定一個多執行緒的程式,今天我用的關鍵字是Monitor.Enter(this);和Monitor.Exit(this);來說一下到底鎖的是什麼,之前對java中的同步關鍵字理解的應該還算可以,鎖的時候永遠鎖的是物件,所以也只有這些執行緒是在這個物件範圍內操作,並且遇到這個關鍵字 […]

java中的synchronized關鍵字

今天去逛javaworld.com.tw看到有人在問執行緒同步的問題,最近對多執行緒很感興趣,寫了不少類似的程式,所以執行緒同步也是肯定要用的到的,synchronized加在函式名稱中間,我記得是對物件的同步,也就是說多執行緒如果想保持同步,必須保證這些執行緒用的是一個物件。看到過synchron […]

ThreadStatic

標記為 ThreadStaticAttribute 的靜態(在 Visual Basic 中為 Shared)欄位不線上程之間共享。每個執行執行緒都有單獨的欄位例項,並且獨立地設定及獲取該欄位的值。如果在不同的執行緒中訪問該欄位,則該欄位將包含不同的值。 注意 不要為標記為 ThreadStatic […]

C#多執行緒學習(二) 如何操縱一個執行緒

  下面我們就動手來建立一個執行緒,使用Thread類建立執行緒時,只需提供執行緒入口即可。(執行緒入口使程式知道該讓這個執行緒幹什麼事) 在C#中,執行緒入口是通過ThreadStart代理(delegate)來提供的,你可以把ThreadStart理解為一個函式指標,指向執行緒要執行的函式,當呼 […]

用C#實現蜘蛛/爬蟲程式的多執行緒控制

在《爬蟲/蜘蛛程式的製作(C#語言)》一文中,已經介紹了爬蟲程式實現的基本方法,可以說,已經實現了爬蟲的功能。只是它存在一個效率問題,下載速度可能很慢。這是兩方面的原因造成的: 1.分析和下載不能同步進行。在《爬蟲/蜘蛛程式的製作(C#語言)》中已經介紹了爬蟲程式的兩個步驟:分析和下載。在單執行緒的 […]