Linux中程式和執行緒的區別與聯絡,建議收藏!
程式和執行緒這兩個話題是程式設計師無法繞開的,而且已經成為IT界經常討論且熱度不減的話題,那麼Linux中程式和執行緒有什麼區別和聯絡?小編透過這篇文章為大家講解一下,希望對你們有用。
聯絡:
①一個執行緒可以建立和撤銷另一個執行緒;同一個程式中的多個執行緒之間可以併發執行;
②相對程式而言,執行緒是一個更加接近於執行體的概念,它可以與同程式中的其他執行緒共享資料,但擁有自己的棧空間,擁有獨立的執行序列。
區別:
程式和執行緒的主要差別在於它們是不同的作業系統資源管理方式。程式有獨立的地址空間,一個程式崩潰後,在保護模式下不會對其它程式產生影響,而執行緒只是一個程式中的不同執行路徑。執行緒有自己的堆疊和區域性變數,但執行緒之間沒有單獨的地址空間,一個執行緒死掉就等於整個程式死掉,所以多程式的程式要比多執行緒的程式健壯,但在程式切換時,耗費資源較大,效率要差一些。但對於一些要求同時進行並且又要共享某些變數的併發操作,只能用執行緒,不能用程式。
簡而言之,一個程式至少有一個程式,一個程式至少有一個執行緒。
執行緒的劃分尺度小於程式,使得多執行緒程式的併發性高。
另外,程式在執行過程中擁有獨立的記憶體單元,而多個執行緒共享記憶體,從而極大地提高了程式的執行效率。
執行緒在執行過程中與程式還是有區別的,每個獨立的執行緒有一個程式執行的入口、順序執行序列和程式的出口。但是執行緒不能夠獨立執行,必須依存在應用程式中,由應用程式提供多個執行緒執行控制。
從邏輯角度來看,多執行緒的意義在於一個應用程式中,有多個執行部分可以同時執行。但作業系統並沒有將多個執行緒看做多個獨立的應用,來實現程式的排程和管理以及資源分配。這就是程式和執行緒的重要區別。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2913603/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 程式和執行緒的區別與聯絡執行緒
- 程式、執行緒和協程之間的區別和聯絡執行緒
- Linux程式與執行緒的區別Linux執行緒
- Linux執行緒與程式的區別Linux執行緒
- 程序、執行緒和協程之間的區別和聯絡執行緒
- 多執行緒:繼承方式和實現方式的聯絡與區別執行緒繼承
- Linux中程式與程式、執行緒的區別!Linux執行緒
- 一篇讓你明白程式與執行緒之間的區別與聯絡執行緒
- 轉載_Linux程式與執行緒的區別Linux執行緒
- Linux系統中多程式和多執行緒的優缺點及聯絡!Linux執行緒
- 程式與執行緒的區別執行緒
- Linux中程式與執行緒的概念以及區別Linux執行緒
- 程式與執行緒區別執行緒
- javaSE中的==和equals的聯絡與區別Java
- php中的執行緒、程式和併發區別PHP執行緒
- 「Learning」區別執行緒和程式執行緒
- Vue中watch、computed與methods的聯絡和區別Vue
- 執行緒與程式之間有什麼關係?Linux執行緒與程式有什麼區別?執行緒Linux
- 史上最全執行緒池超詳解(建議收藏)執行緒
- Python中__new__和__init__的區別與聯絡Python
- java架構-執行緒和程式的區別Java架構執行緒
- JDK內建執行緒池的共同點和區別JDK執行緒
- 程序和執行緒的區別執行緒
- 執行緒和程序的區別執行緒
- HDFS 塊和 Input Splits 的區別與聯絡
- 作業系統-執行緒和程式的區別作業系統執行緒
- 作業系統_程式和執行緒的區別作業系統執行緒
- cookie與session的區別與聯絡CookieSession
- Session與Cookie的區別與聯絡SessionCookie
- JRE與JDK的區別與聯絡JDK
- Instruction和Question的區別和聯絡Struct
- Java程式和執行緒關係及區別Java執行緒
- SCADA和PLC的區別聯絡
- 【Python入門必看】Python中Cookie和Session的區別與聯絡!PythonCookieSession
- 【面試】執行緒程式區別面試執行緒
- 執行緒 並行 與 併發 的區別執行緒並行
- hive中order by、distribute by、sort by和cluster by的區別和聯絡Hive
- Java 執行緒中斷(interrupt)與阻塞 (park)的區別Java執行緒