<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      20201321周慧琳

      教材第三四章讀書筆記

      教材第三四章讀書筆記

      by 20201321 周慧琳

      學習目標

      • 第三章:Unix/Linux進程管理
        第三章的主要涉及Unix/Linux中的進程管理,多任務處理原則,進程概念,解釋了Unix/Linux中各進程的來源,包括初始進程、INIT進程、守護進程、登錄進程、登錄進程以及可供用戶執行命令的sh進程。

        對進程的執行模式進行了講解,描述了用于進程管理的Linux/Unix系統調用,闡明了父進程與子進程的關系,解釋了I/O重定向和管道的原則和方法。

        第三章還有需要完成的實踐任務,如系統調用命令:fork、wait、exec、exit的掌握,通過exec更改進程執行映像等。

      • 第四章:并發編程
        第四章論述了并發編程,介紹了并行計算的概念,比較了并行算法和順序算法,解釋了線程的原理及其相對于進程的優勢。解釋了死鎖問題,討論了信號量。

        需要實踐的項目是實現用戶級線程,可通過該項目實現線程同步的線程連接、互斥量和信號量。

      知識圖譜的歸納

      對于第三、四章繁瑣的知識點,利用xmind工具制作了一個知識圖譜來強化知識理解

      學習收獲和心得

      第三四章主要在討論進程和線程,在學習過程中也出現了許多難以理解的詞匯,需要積累下來明白各個概念的共性與區別。
      執行映像:包含執行代碼、數據和堆棧的存儲區
      任務進程可以互換使用
      進程:進程是對映像的執行
      系統資源包括:內存空間、I/O設備、CPU時間
      PROC結構體:用來表示進程的數據結構

      MT:多任務處理系統的簡稱
      進程同步:一個操作系統包含許多并發進程,這些進程可以彼此交互。進程同步是指控制和協調進程交互以確保其正確執行所需的各項規則和機制。
      進程終止:第2章已經提到,進程死亡(終止)有正常終止,異常終止兩種形式
      管道:用于進程交換數據的單向進程間通信通道
      pid:標識一個進程的進程ID編號
      priority:進程調度優先級

      以下是我重點學習的內容:

      • fork()創建子進程
      • 一個現有進程可以調用fork函數創建一個新進程。由fork創建的新進程被稱為子進程(child process)。fork函數被調用一次但返回兩次。兩次返回的唯一區別是子進程中返回0值而父進程中返回子進程ID。
        子進程是父進程的副本,它將獲得父進程數據空間、堆、棧等資源的副本。注意,子進程持有的是上述存儲空間的“副本”,這意味著父子進程間不共享這些存儲空間。
      #include<unistd.h>
      #include<stdio.h>
      #include<stdlib.h>
       
      int main(int argc,char *argv[]){
          pid_t pid=fork();
          if ( pid < 0 ) {
              fprintf(stderr,"錯誤!");
          } else if( pid == 0 ) {
              printf("子進程空間");
              exit(0);
          } else {
              printf("父進程空間,子進程pid為%d",pid);
          }
          // 可以使用wait或waitpid函數等待子進程的結束并獲取結束狀態
          exit(0);
      }
      
      • 認識環境變量
        環境變量(environment variables)一般是指在操作系統中用來指定操作系統運行環境的一些參數,如:臨時文件夾位置和系統文件夾位置等。
        環境變量是在操作系統中一個具有特定名字的對象,它包含了一個或者多個應用程序所將使用到的信息。例如Windows和DOS操作系統中的path環境變量,當要求系統運行一個程序而沒有告訴它程序所在的完整路徑時,系統除了在當前目錄下面尋找此程序外,還應到path中指定的路徑去找。用戶通過設置環境變量,來更好的運行進程。
        Linux的環境變量和Windows的還是有一些區別。需要再花時間熟悉下。

        可以通過以上方法來查看本機的具體環境變量設置

      pthread_cancel()不能殺死線程

        1 #include <stdio.h>
        2 #include <stdlib.h>
        3 #include <unistd.h>
        4 #include <pthread.h>
        5 #include <string.h>
        6 
        7 void *func(void *arg){
        8     while(1);
        9     return NULL;
       10 }
       11 int main(){
       12     printf("main:pid=%d,tid=%lu\n",getpid(),pthread_self());
       13 
       14     pthread_t tid;
       15     int ret = pthread_create(&tid,NULL,func,NULL);
       16     if(ret != 0){
       17         fprintf(stderr,"pthread_create error:%s\n",strerror(ret));
       18         return 1;
       19     }
       20 
       21     ret = pthread_cancel(tid);
       22     if(ret != 0){
       23         fprintf(stderr,"pthread_cancel error:%s\n",strerror(ret));
       24         return 2;
       25     }
       26 
       27     pthread_exit((void*)0);
       28 
       29     return 0;
       30 }
      
      

      原因:

      使用pthread_cancel()終止線程,需要線程中存在取消點。

      大致是需要線程中有陷入內核的操作,才會存在取消點

      如果想要用pthread_cancel()終止一個沒有陷入內核操作的線程,就需要手動添加取消點

      在while循環中加入,pthread_testcancel()即可用pthread_cancel()殺死該線程

        7 void *func(void *arg){
        8     while(1) pthread_testcancel();
        9     return NULL;
       10 }
      
      

      posted on 2022-09-11 15:43  20201321周慧琳  閱讀(32)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 国产精品一区二区三区黄| 在线精品视频一区二区三四| 国产精品午夜福利精品| 亚洲人成人影院在线观看| 精品乱码一区二区三四五区| 日韩欧美aⅴ综合网站发布| 亚洲 日本 欧洲 欧美 视频| 国产无套内射又大又猛又粗又爽 | 国产精品美女久久久| 亚洲精品国产综合久久一线| 91一区二区三区蜜桃臀| 亚洲码和欧洲码一二三四| 国产欧美日韩精品丝袜高跟鞋| 国产亚洲欧洲AⅤ综合一区| 午夜DY888国产精品影院| 亚洲色欲色欲www| 久久精品国产国产精品四凭| 狠狠综合久久综合88亚洲| 国产成人精品免费视频大全| 欧美人与动牲交精品| 亚洲精品三区二区一区一| 日韩中文字幕v亚洲中文字幕| 久久99精品国产99久久6尤物| 男人一天堂精品国产乱码| 国产三级国产精品国产专区| 久久亚洲精品11p| 亚洲AV无码秘?蜜桃蘑菇| 欧美国产成人精品二区芒果视频| 惠东县| 国产综合久久久久鬼色| 国产精品熟女乱色一区二区| 国产精品一区二区久久精品无码| 777奇米四色成人影视色区| 国产精品人成视频免费国产| 亚洲精品理论电影在线观看| 四虎成人在线观看免费| 国产精品亚洲av三区色| 丝袜国产一区av在线观看| 精品视频不卡免费观看| 麻豆tv入口在线看| 国产精品久久久久久影视|