linux多執行緒 7 mmap的使用

2021-06-14 06:32:44 字數 1171 閱讀 8469

mmap將檔案對映到記憶體中,然後用指標指向記憶體,就可以方便高效的操作了。

建立檔案map_file,長度為256,對映到記憶體中,然後寫入字串,結束後用cat檢視是否寫入了。

#include #include #include #include #include #include #include #include #include #include #include #include #define file_ "map_file"

#define file_mode s_irusr | s_iwusr

int main(int argc, char* argv)

str[0]='a';

lseek(fd,255,seek_set);

write(fd,str,sizeof(char));

ptr = mmap(null, sizeof(char)*256, prot_read|prot_write, map_shared, fd,0);

if(ptr == map_failed)

close(fd);

sprintf(ptr, "the int = %d\n", i);

if (munmap(ptr, sizeof(char)*256) == -1)

return 0;

}

administrator@ubuntu:~/test$ ./sh

administrator@ubuntu:~/test$ cat map_file

the int = 7

aadministrator@ubuntu:~/test$

頁可以直接將標準輸入的至拷貝到該記憶體區:

//    sprintf(ptr, "the int = %d\n", i);

printf("enter: ");

scanf("%s", ptr);

執行:administrator@ubuntu:~/test$ gcc share.c -o sh -g

administrator@ubuntu:~/test$ ./sh

enter: abcdxyz

administrator@ubuntu:~/test$ cat map_file

abcdxyzaadministrator@ubuntu:~/test$

Linux多執行緒實踐 7 多執行緒排序對比

int pthread barrier init pthread barrier t restrict barrier,const pthread barrierattr t restrict attr,unsigned count int pthread barrier destroy pthre...

Linux多執行緒實踐 7 多執行緒排序對比

int pthread barrier init pthread barrier t restrict barrier,const pthread barrierattr t restrict attr,unsigned count int pthread barrier destroy pthre...

python 多執行緒threading的使用

一 執行緒建立方法 1.普通建立 import threading defrun name for i in range 3 print name if name main t1 threading.thread target run,args t1 t2 threading.thread targ...