乙個簡單的C 多執行緒間同步的例子

2021-08-31 03:47:58 字數 1813 閱讀 1481

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!

本部落格有關多執行緒的文章:

在開發中經常會遇到執行緒的例子,如果某個後台操作比較費時間,我們就可以啟動乙個執行緒去執行那個費時的操作,同時程式繼續執行。在某些情況下可能會出現多個執行緒的同步協同的問題,下面的例子就展示了在兩個執行緒之間如何協同工作。

這個程式的思路是共同做一件事情(從乙個arraylist中刪除元素),如果執行完成了,兩個執行緒都停止執行。

**如下:

using

system;

using

system.collections;

using

system.collections.generic;

using

system.threading;

///  

///在開發中經常會遇到執行緒的例子,如果某個後台操作比較費時間,我們就可以啟動乙個執行緒去執行那個費時的操作,同時程式繼續執行。在某些情況下可能會出現多個執行緒的同步協同的問題,下面的例子就展示了在兩個執行緒之間如何協同工作。

///

/// 這個程式的思路是共同做一件事情(從乙個arraylist中刪除元素),如果執行完成了,兩個執行緒都停止執行。

///

///  

public

class

threaddemo

public

threaddemo(

intnumber)

threadone 

=new

thread(

newthreadstart(run));

//兩個執行緒共同做一件事情

threadtwo 

=new

thread(

newthreadstart(run));

//兩個執行緒共同做一件事情

threadone.name ="

執行緒1"

;threadtwo.name ="

執行緒2"

;onnumberclear 

+=new

eventhandler(threaddemo_onnumberclear);

}///

///開始工作

///  

public

void

action()

///  

///共同做的工作

///  

private

void

run()

monitor.exit(

this

);//

取消鎖定

thread.sleep(

5);}}

// 執行完成之後,停止所有執行緒

void

threaddemo_onnumberclear(

object

sender, eventargs e)}

說明:要實現執行緒同步不止這一種方式。在這裡採用了事件,在事件處理程式裡中止了執行緒(主要是回答csdn論壇的乙個朋友的問題才用了這種辦法)。

給我老師的人工智慧教程打call!

乙個簡單的C 多執行緒間同步的例子

在開發中經常會遇到執行緒的例子,如果某個後台操作比較費時間,我們就可以啟動乙個執行緒去執行那個費時的操作,同時程式繼續執行。在某些情況下可能會出現多個執行緒的同步協同的問題,下面的例子就展示了在兩個執行緒之間如何協同工作。這個程式的思路是共同做一件事情 從乙個arraylist中刪除元素 如果執行完...

乙個簡單的C 多執行緒間同步的例子

在開發中經常會遇到執行緒的例子,如果某個後台操作比較費時間,我們就可以啟動乙個執行緒去執行那個費時的操作,同時程式繼續執行。在某些情況下可能會出現多個執行緒的同步協同的問題,下面的例子就展示了在兩個執行緒之間如何協同工作。這個程式的思路是共同做一件事情 從乙個arraylist中刪除元素 如果執行完...

乙個簡單的C 多執行緒間同步的例子

在開發中經常會遇到執行緒的例子,如果某個後台操作比較費時間,我們就可以啟動乙個執行緒去執行那個費時的操作,同時程式繼續執行。在某些情況下可能會出現多個執行緒的同步協同的問題,下面的例子就展示了在兩個執行緒之間如何協同工作。這個程式的思路是共同做一件事情 從乙個arraylist中刪除元素 如果執行完...