国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C# 3個線程A B C 依次打印123123123..

2019-11-17 02:32:57
字體:
來源:轉載
供稿:網友

C# 3個線程A B C 依次打印123123123..

C#經典面試題:

有3個線程,A線程打印1,B線程打印2,C線程打印3,請用程序實現依次打印123123123...

 1  class PRogram 2     { 3         static void Main(string[] args) 4         { 5             var mt = new MyThread(); 6             mt.Run(); 7  8             Console.ReadLine(); 9         }10     }11 12     13    internal class MyThread14    {15        private int number = 0;16        object obj = new object();17 18         public void Run()19         {20             var ta = new Thread(PrintNumber);21             var tb = new Thread(PrintNumber);22             var tc = new Thread(PrintNumber);23 24             ta.Start("1");25             tb.Start("2");26             tc.Start("3");27         }28 29        private void PrintNumber(object num)30        {31            for (int i = 0; i < 9; i++)32            {33                lock (obj)34                {35                    if (Convert.ToInt32(num) == number + 1 || Convert.ToInt32(num) == number - 2)36                    {37                        Console.Write(num);38                        number = Convert.ToInt32(num);39 40                        // 通知正在等候的線程41                        Monitor.PulseAll(obj);42                    }43                    else44                    {45                        // 本輪不應該打印的線程,就讓他到lock外面等候通知46                        // 因為本次他也執行了判斷,所以循環就少了一次47                        i--;48                        Monitor.Wait(obj);49                    }50                }51            }           52        }53     }

偷 @宋興柱-Sindrol 同學的代碼:C#中添加三個線程同時啟動執行某一方法,并依次調用某方法中的循環打印輸


上一篇:C# 線程--第三線程池

下一篇:Md5加密

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通城县| 永年县| 宜黄县| 琼中| 西乌珠穆沁旗| 台州市| 连州市| 洪湖市| 望都县| 富源县| 锡林浩特市| 长子县| 固始县| 新蔡县| 军事| 中宁县| 财经| 扎赉特旗| 嫩江县| 瑞丽市| 宝山区| 台北市| 丽水市| 阿荣旗| 来安县| 恩施市| 邹平县| 夏津县| 博兴县| 张家口市| 榆中县| 泾阳县| 平南县| 佛冈县| 肥乡县| 垣曲县| 丹东市| 昌图县| 新干县| 平利县| 云龙县|