channel

    1熱度

    1回答

    我試圖設置兩個線程之間的雙向通信:子線程既可以發送到父進程,也可以從父進程接收,父進程可以發送去和從孩子接收。由於這樣的事實,在鏽通道是單向的,我使用的是一組雙通道的,像這樣的組織(從我家釀線程庫代碼段): let (tx, rx) = channel(); let (tx2, rx2) = channel(); (Endpoint { sender: tx2, rece

    0熱度

    1回答

    url就像http://url.com/username。當客戶端連接服務器時,我需要在channelActive中驗證用戶名,這可能嗎? 感謝 public class Handler extends ChannelInboundHandlerAdapter{ @Override public void channelRead(ChannelHandlerContext ct

    0熱度

    1回答

    我正在嘗試使用因子問題的fan in - fan out模式。但我越來越: fatal error: all goroutines are asleep - deadlock! ,並不能確定死鎖的原因。 我想同時使用扇入扇出模式計算100個數的階乘。 package main import ( "fmt" ) func main() { _inChannel :=

    -2熱度

    2回答

    我需要並行運行多個函數。 如果函數返回true(在通道上發送true),那麼最終結果應該是true。 如何使用goroutines和通道實現此目的? // Some performance intensive function func foo(i int, c chan bool) { // do some processing and return either true or f

    2熱度

    1回答

    我有一個go-routine將對象添加到通道,然後我有4 go-routines來處理通道的對象。處理只不過是將對象添加到數組中。但是在很少的時候,這些對象從最終數組中丟失。所以我假設在某個時候頻道停止收集對象。我有以下代碼: package main import ( "log" "sync" ) func main() { j := 0 for

    0熱度

    1回答

    是否可以將自己轉換爲機器人並加入電報中的頻道? 如果問題1的答案是肯定的,是否有可能從這個頻道接收到的所有數據,我有聯合,甚至用戶和組,並處理它們,因爲我是用戶/機器人? 如果問題1的答案是否定的,那麼您有什麼建議可以從電報中的不同渠道獲取數據,並將它們發送給機器人使用PHP來處理它們?

    0熱度

    1回答

    package main import "fmt" import "time" func main() { ticker := time.NewTicker(time.Millisecond * 500) go func() { for t := range ticker.C { fmt.Println("Tick at", t)

    1熱度

    2回答

    學習golang,我當試圖理解下面的內存模型規範描述的信道通信的有點糊塗了:通道上 一個發送發生之前對應的從通道接收完成。 通道的關閉發生在因爲通道關閉而返回零值的接收之前。 來自無緩衝通道的接收發生在該通道上的發送完成之前。 在容量爲C的信道上的第k個接收發生在從該信道發送的第k + C個C發送完成之前。 的第一條規則是明確的,容易理解,而我真正關心的第三個規則,這似乎對別人弄糊塗了......

    2熱度

    2回答

    如果客戶端將因網絡錯誤而斷開連接,則服務器必須在我的pub/sub連接中關閉。我知道ctx.Done()函數,但不知道如何在我的情況下正確使用它。請有人解釋一下嗎? GRPC-GO:1.7.0 去版本go1.8.4 func (a *API) Notifications(in *empty.Empty, stream pb.Service_NotificationsServer) error {

    0熱度

    3回答

    我正在關注https://blog.golang.org/pipelines文章以實施幾個階段。 我需要其中一個階段來引入流水線中下一階段傳遞事件之前幾秒的延遲。 我對下面的代碼的擔心是,它會產生無限數量的go.sout()方法,在傳遞事件之前。有沒有更好的方法來做到這一點? 謝謝! func fooStage(inChan <- chan *Bar) (<- chan *Bar) {