runtime: chan

This commit is contained in:
xushiwei
2024-07-02 16:00:43 +08:00
parent f5b36ecbac
commit 437edefa0c
5 changed files with 177 additions and 0 deletions

26
_demo/cchan/cchan.go Normal file
View File

@@ -0,0 +1,26 @@
package main
import (
"unsafe"
"github.com/goplus/llgo/internal/runtime"
)
const (
eltSize = int(unsafe.Sizeof(0))
)
func doChan(cap int) {
c := runtime.NewChan(eltSize, cap)
go func() {
v := 100
runtime.ChanSend(c, unsafe.Pointer(&v), eltSize)
}()
var ret int
runtime.ChanRecv(c, unsafe.Pointer(&ret), eltSize)
println(ret)
}
func main() {
doChan(10)
}