ARM嵌入式学习——多进程/线程
生活随笔
收集整理的這篇文章主要介紹了
ARM嵌入式学习——多进程/线程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
什么是進程?
進程可以理解為正在運行的程序。我們編寫好的代碼,經過編譯后生成一個可執行的文件,我們稱作一個程序。當運行可執行文件后,操作系統會執行可執行文件中的代碼,在CPU上運行的這組代碼被稱做進程。
注:Linux系統至少有一個進程。一個程序可以對應多個進程,一個進程只能對應一個程序。
進程環境和屬性
int main(int argc, char *argv[],char *envp) //參數argc表示的是argv有多少個參數//參數argv的定義表示的是一個不定長的字符串數組。創建進程:fork()
1 #include<stdio.h>2 #include <unistd.h>3 4 5 int main()6 {7 8 pid_t pid;9 10 pid = fork();11 if(-1 == pid){ //from 11th line the program creat a new process,have two processes father&child12 13 printf("Error to creat new process!\n");14 return 0;15 16 }else if (pid == 0){17 printf("Child process!\n");18 19 }else{20 printf("Parent prcess! child pri=ocess ID : %d\n",pid);21 }22 23 return 0;24 } ~ ~ ~等待進程結束 waitpid()
退出進程: exit()
常用的進程間通信的方法有:管道、FIFO、消息隊列、信號量、共享內存,socket;
?
?
?
?
?
總結
以上是生活随笔為你收集整理的ARM嵌入式学习——多进程/线程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Scratch考级99图】图36-等级
- 下一篇: 六级写作^_^