2 回答

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超6個(gè)贊
Google Appengine 目前只允許一個(gè)操作系統(tǒng)線程。
了解操作系統(tǒng)線程如何;Goroutines 及其堆棧;和調(diào)度器工作,我推薦閱讀Scalable Go Scheduler 提案或Go Runtime Scheduler 分析。
由于您可以在單個(gè)線程上擁有多個(gè)通道和 goroutine,因此 Appengine 可以很好地處理concurrency。如果您需要并行性(即不僅運(yùn)行多個(gè) goroutine,而且在多個(gè)處理器上運(yùn)行它們),那么 Appengine 目前不是答案,因?yàn)樗?GOMAXPROCS 設(shè)置為 1。
就您的特定代碼而言,您沒有提供任何我們可以查看并幫助調(diào)試您的競(jìng)爭(zhēng)條件的代碼。要自己這樣做,您可以從閱讀這篇關(guān)于并使用Go Race Detector 的博客文章中受益

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
我不知道應(yīng)用引擎當(dāng)前是否支持多個(gè)操作系統(tǒng)線程,但是即使只有一個(gè)操作系統(tǒng)級(jí)線程可用,您也絕對(duì)可以使用通道。您提供的鏈接確實(shí)聲明“存在 goroutine 和通道”,它們只是在一個(gè)操作系統(tǒng)級(jí)線程中處理。
- 2 回答
- 0 關(guān)注
- 252 瀏覽
添加回答
舉報(bào)