最近在學習go語言,學習到了協程,來記錄下學習的心路歷程
先來看下例子:列印5個hello和5個world
package main
func say(s string)
}func main()
go 啟動協程的方式就是使用關鍵字 go,後面一般接乙個函式或者匿名函式
執行上述**發現什麼也沒有輸出 ,為什麼?
因為當使用go啟動協程之後,這2個函式就被切換到協程裡面執行了,但是這時候主線程main結束了,這2個協程還沒來得及執行就掛了!
那給主線程加個睡眠時間1s試試
func main()
會發現可以列印出5個hello 和 5個world,多次執行你會發現hello 和 world 的順序不是固定的,這進一步說明了乙個問題,那就是多個協程是同時執行的!
那在試試go 自帶乙個waitgroup
package main
import (
"fmt"
"sync"
)//var 是宣告了乙個全域性變數 wg
var wg sync.waitgroup
func say(s string)
相當於 wg.add(-1) 意思就是我這個協程執行完了
執行結果是想實現的效果!
謝謝,all!
聊一聊 Flask 的 jsonify
首先我們來看一段 python from flask import flask,jsonify tasks api v1.0 tasks methods get defget tasks return jsonify if name main true 在這段 裡面,我們看到了今天的主角jsonif...
聊一聊我的二 二
我是乙個二 二一年六月畢業的學軟體技術的大專生 也就是明年畢業 對於任何人來說,這一年裡是充滿挑戰的。可能乙個小小的想法,就會決定未來的走向。二 二 是對於所有人都是複雜的一年,特別是對於我.二 二 一年裡充滿了對於我是充滿悲傷的,疫情爆發,長輩離世,面臨就業問題等等,各種我不敢面對的事情。都出現在...
聊一聊PHP的global
眾所周知,在php的函式中,如果想使用全域性變數,一種是使用超全域性變數 globals,另一種是在函式中使用global關鍵字宣告,使用超全域性變數 globals的方式大家都知道了,今天來好好聊一聊使用global方式來宣告變數。我們來看如下例子 a 1 b 2 function test te...