//用程式實作一個函式,原型為:func printNumber(N int)
//內部創建三個執行緒A、B、C,三個執行緒交替輸出1到N之間的數字,
//A執行緒輸出1、4、7…,B執行緒2、5、8…,C執行緒輸出3、6、9…,
//最終結果為:1、2、3、4、5...N
uj5u.com熱心網友回復:
沒什么意思的題目,想干嘛?想3個執行緒同步交替輸出?那為什么要用3個執行緒?如果是并發輸出,那么大概思路如下
定義一個總的 var arrresult []int
A協程:
初始值=1,每次回圈加3,大于N退出,arrresult =append(arrresult,產生的值)(加鎖一下)
B協程:
初始值=2,每次回圈加3,大于N退出,arrresult =append(arrresult,產生的值)(加鎖一下)
C協程:
初始值=3,每次回圈加3,大于N退出,arrresult =append(arrresult,產生的值)(加鎖一下)
最后對arrresult 排序輸出。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/195602.html
標籤:go語言
上一篇:問下老鳥們,一個專案9000+行代碼,目前尚未完工,算多還是少
下一篇:R語言
