首页 > 代码库 > go 笔记
go 笔记
ipc{
1.通信{
数据传送{
pipe 传字节流
,MessageQueue 传结构化消息对象
}
共享内存(最快)
}
2.信号 Signal(唯一异步的IPC)
3.同步 semaphore (最重要)
}
exec 把一个新程序加载到自己内存中,替换数据段,代码段,堆,stack
父进程先结束,他子进程会被内核启动进程收养
所以系统调用都是原子操作
pid := os.Getpid()
ppid := os.Getppid()
sync/atomic
os/exec
cmd0 := exec.Command("echo","-n","my fist command")
stdout0 ,err := cmd0.StdoutPipe()
output0 := make([]byte,30)
n,err :=stdio0.Read(output0)
if err != nil{
fmt.Printf("error: %s\n",err)
}
fmt.Printf("%s\n",output0[:n])
命名管道
reader ,writer,err := os.Pipe()
reader,writer := io.Piple() //内存管道
信号: os/signal
没有32,33
1-31 标准信号(不可靠信号); 34-64 实时信号(可靠信号)
runtime/debug.SetMaxThreads
runtime.GOMAXPROCS
go 笔记
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。