วีดีโอ: กิจวัตรประจำวันคืออะไร?
2024 ผู้เขียน: Lynn Donovan | [email protected]. แก้ไขล่าสุด: 2023-12-15 23:54
Goroutines คือฟังก์ชันหรือวิธีการที่ทำงานควบคู่ไปกับฟังก์ชันหรือวิธีการอื่นๆ Goroutines ถือได้ว่าเป็นเส้นด้ายที่มีน้ำหนักเบา ค่าใช้จ่ายในการสร้าง โกรูทีน มีขนาดเล็กเมื่อเทียบกับด้าย ดังนั้นจึงเป็นเรื่องธรรมดาสำหรับ ไป แอปพลิเคชั่นเพื่อให้ Goroutines หลายพันตัวทำงานพร้อมกัน
ในที่นี้ช่องอะไรในโก?
ใน ไป ภาษา a ช่อง เป็นสื่อกลางที่ goroutine สื่อสารกับ goroutine อื่นและการสื่อสารนี้ไม่มีการล็อก หรืออีกนัยหนึ่ง a ช่อง เป็นเทคนิคที่ช่วยให้ goroutine หนึ่งส่งข้อมูลไปยัง goroutine อื่น
นอกจากนี้ Goroutines สามารถวิ่งได้พร้อมกันกี่ตัว? ในเครื่องที่ติดตั้งหน่วยความจำ 4 GB การดำเนินการนี้จะจำกัดจำนวนสูงสุด โรคกระดูกพรุน ให้น้อยกว่า 1 ล้านเล็กน้อย มันใช้งานได้จริงในการสร้างหลายร้อยหลายพัน โรคกระดูกพรุน ในพื้นที่ที่อยู่เดียวกัน
ดังนั้นคุณจะใช้ Goroutine ได้อย่างไร?
เพื่อเรียกใช้ฟังก์ชันนี้ใน a goroutine , ใช้ ไป f(s). ใหม่นี้ goroutine จะดำเนินการควบคู่ไปกับการโทร คุณยังสามารถเริ่มa goroutine สำหรับการเรียกใช้ฟังก์ชันที่ไม่ระบุชื่อ การเรียกใช้ฟังก์ชันสองรายการของเราทำงานแบบอะซิงโครนัสแยกกัน โรคกระดูกพรุน ตอนนี้.
Goroutine สามารถคืนค่าได้หรือไม่?
วิ่ง goroutine (แบบอะซิงโครนัส) และดึงข้อมูล ค่าส่งคืน จากการทำงานเป็นการกระทำที่ขัดแย้งกันโดยพื้นฐาน แต่เมื่อคุณกำหนดฟังก์ชั่น ค่าส่งคืน ให้กับตัวแปรที่คุณคาดหวังว่าจะมีสิ่งนี้ ค่า ภายในตัวแปร ดังนั้นเมื่อคุณทำอย่างนั้น x:= go doSomething(arg) คุณกำลังพูดว่า: ไปเถอะ ไม่ต้องรอฟังก์ชัน!