C 中一道關於多執行緒的程式設計題

2022-01-18 16:17:24 字數 1721 閱讀 9620

題目的意思是這樣的:讓兩個執行緒a和b將自己的id輪番寫入乙個檔案中,每個執行緒重複十次寫入後執行乙個**函式,說「i'm ok」,就這樣。我是一名qa,不是開發,出於興趣報考了公司的c#課程考試,多執行緒那些知識我也認真聽過課,但是總歸沒有機會實際運用過,所以一到真正要動手寫的時候也就基本等於不會了,最後我想了半天寫了這樣的乙個程式,我感覺也算是符合了題的要求,還望各路大神不吝賜教,我好學習。也多幫我想想辦法,應該怎麼學習c#,包括反射,匿名方法和lambda,委託,多執行緒,資料驗證,等等這些知識的實際應用,給我出一些例題,謝謝啦!十分感謝。

以下是我的程式:

1

using

system;

2using

system.collections.generic;

3using

system.linq;

4using

system.text;

5using

system.threading.tasks;

6using

system.threading;

7using

system.diagnostics;

8using

system.io;910

namespace

blevelprogram

1118

19//

靜態識別符號——記錄寫入次數.

20static

int i = 0;21

static

int o = 0;22

//權利識別符號——判斷執行緒是否具有寫入權利,預設為true,true為執行緒1的寫入權利,false為執行緒2的寫入權利.

23static

bool flag = true;24

25public

static

void

main()

2643

44//

向檔案中寫入當前thread的id.

45public

static

void

kick1()

4655

//小於10次寫入則繼續寫入.

56if (i < 10)57

71//

等於10次就**.

72else

7377}78

}7980//

向檔案中寫入當前thread的id.

81public

static

void

kick2()

8291

//小於10次寫入則繼續寫入.

92if (o < 10)93

107//

等於10次就**.

108else

109

113}

114}

115116

//執行緒**函式

117public

static

void

threadcallback()

118122

}123 }

執行後的結果在控制台輸出是:

檔案中的輸出結果為:

關於多執行緒的一道題目

題目大意 有四個執行緒,每個執行緒輸出1,2,3,4,設計程式使得依次輸出 1111222233334444 求解思路 建立乙個物件o,當四個執行緒依次輸出1後,檢測已經輸出的次數count,如果輸出次數為1,2,3,那麼讓執行緒進入物件o的等待集,如果為4,那麼喚醒o中等待集中所有執行緒並將cou...

關於C 的一道題

閱讀下面程式,然後請寫出輸出結果 cpp view plaincopy include using namespace std int main void 輸出結果如下圖 分析 為什麼會這樣的結果呢?首先我們先分析一下程式,首先我們先看看第一組a和b,那麼a和b是什麼呢?根據我們所學,我們知道a和b...

一道程式設計題

題目要求 1 自己給定乙個集合 元數個數不得少於10個 2 讓使用者任一輸入乙個整數 3 根據使用者輸入的整數,移除集合中相應的元素 請根據示例找出元素移除的規律 4 運算結束後,集合中所有元素均被移除 示例 集合元素為 a b c d e f g h i j 使用者輸入的整數為 3 集合元素被移除...