使用步骤
定义一个1G的文件
filename := "test2.txt"
size := 1024 * 1024 * 1024
打开文件,获取文件描述符
f, err := os.OpenFile(filename, os.O_CREATE|os.O_TRUNC|os.O_RDWR, 0644)
if nil != err {
panic(err)
}
defer func() {
f.Close()
}()
映射
m := _mmap.Open(f, 0, size, syscall.PROT_WRITE|syscall.PROT_READ, syscall.MAP_SHARED)
defer func() {
m.Close()
}()
读写
message := "Hello 中国!"
for i := 0; i < 71582788; i++ {
m.Append([]byte(message))
}
刷盘
m.Flush(syscall.MS_ASYNC)