国产精品久久久久aaaa,色综合久久成人综合网,日本少妇被爽到高潮无码,特黄熟妇丰满人妻无码

學習啦 > 學習電腦 > 操作系統 > Linux教程 >

Linux中多線程是什么有什么用

時間: 加城1195 分享

  Linux繼承了Unix以網絡為核心的設計思想,是一個性能穩定的多用戶網絡操作系統。這篇文章主要介紹了Linux中多線程詳解及簡單實例的相關資料,這里對線程概念及優缺點做了詳細介紹并說明如何創建和應用,需要的朋友可以參考下

  Linux中多線程詳解及簡單實例

  1.概念

  進程:運行中的程序。

  線程:一個程序中的多個執行路徑。更準確的定義是:線程是一個進程內部的一個控制序列。

  2.為什么要有線程?

  用fork調用進程代價太高,需要讓一個進程同時做多件事情,線程就非常有用。

  3.線程的優點和缺點。

  優點:

  (1)有時,讓程序看起來是在同時做兩件事是非常有用的。 比如在編輯文檔時,還能統計文檔里的單詞個數。

  (2)一個混雜著輸入、計算、輸出的程序,利用線程可以將這3個部 分分成3個線程來執行,從而改變程序執行的性能。

  (3)一般來說,線程之間切換需要操作系統所做的工作比進程間切換需要的代價小。

  缺點:

  (1)編寫線程需要非常仔細的設計。

  (2)對多線程的調試困難程度比單線程調試大得多。

  4.創建線程

  #include

  (1)int pthread_create(pthread_t *thread,pthread_attr_t *attr,void *(*start_routine)(void *),void *arg);

  pthread_t pthread_self(void);

  (2)int pthread_equal(pthread_t thread1,pthread_t thread2);

  (3)int pthread_once(pthread_once_t *once_control,void(*init_routine)(void));

  Linux系統支持POSIX多線程接口,稱為pthread。編寫linux下的多線程程序,需要包含頭文件pthread.h,鏈接時需要使用庫libpthread.a。

  如果在主線程里面創建線程,程序就會在創建線程的地方產生分支,變成兩個部分執行。線程的創建通過函數pthread_create來完成。成功返回0。

  1.線程創建:

  int pthread_create(pthread_t thread,pthread_attr_t *attr,void (start_routine)(void ),void *arg);

  pthread_t pthread_self(void);

  參數說明:

  thread:指向pthread_create類型的指針,用于引用新創建的線程。

  attr:用于設置線程的屬性,一般不需要特殊的屬性,所以可以簡單地設置為NULL。

  (start_routine)(void ):傳遞新線程所要執行的函數地址。

  arg:新線程所要執行的函數的參數。

  調用如果成功,則返回值是0,如果失敗則返回錯誤代碼。

  2.線程終止

  void pthread_exit(void *retval);

  參數說明:

  retval:返回指針,指向線程向要返回的某個對象。

  線程通過調用pthread_exit函數終止執行,并返回一個指向某對象的指針。注意:絕不能用它返回一個指向局部變量的指針,因為線程調用該函數后,這個局部變量就不存在了,這將引起嚴重的程序漏洞。

  3.線程同步

  int pthread_join(pthread_t th, void **thread_return);

  參數說明:

  th:將要等待的線程,線程通過pthread_create返回的標識符來指定。

  thread_return:一個指針,指向另一個指針,而后者指向線程的返回值。

  補充:Linux基本命令

  1.ls命令:

  格式::ls [選項] [目錄或文件]

  功能:對于目錄,列出該目錄下的所有子目錄與文件;對于文件,列出文件名以及其他信息。

  常用選項:

  -a :列出目錄下的所有文件,包括以 . 開頭的隱含文件。

  -d :將目錄像文件一樣顯示,而不是顯示其他文件。

  -i :輸出文件的i節點的索引信息。

  -k :以k字節的形式表示文件的大小。

  -l :列出文件的詳細信息。

  -n :用數字的UID,GID代替名稱。

  -F : 在每個文件名后面附上一個字符以說明該文件的類型,“*”表示可執行的普通文 件;“/”表示目錄;“@”表示符號鏈接;“l”表示FIFOS;“=”表示套接字。

  2.cd命令

  格式:cd [目錄名稱]

  常用選項:

  cd .. 返回上一級目錄。

  cd ../.. 將當前目錄向上移動兩級。

  cd - 返回最近訪問目錄。

  3.pwd命令

  格式: pwd

  功能:顯示出當前工作目錄的絕對路徑。

  相關閱讀:Linux主要特性

  完全兼容POSIX1.0標準

  這使得可以在Linux下通過相應的模擬器運行常見的DOS、Windows的程序。這為用戶從Windows轉到Linux奠定了基礎。許多用戶在考慮使用Linux時,就想到以前在Windows下常見的程序是否能正常運行,這一點就消除了他們的疑慮。

  多用戶、多任務

  Linux支持多用戶,各個用戶對于自己的文件設備有自己特殊的權利,保證了各用戶之間互不影響。多任務則是現在電腦最主要的一個特點,Linux可以使多個程序同時并獨立地運行。

  良好的界面

  Linux同時具有字符界面和圖形界面。在字符界面用戶可以通過鍵盤輸入相應的指令來進行操作。它同時也提供了類似Windows圖形界面的X-Window系統,用戶可以使用鼠標對其進行操作。在X-Window環境中就和在Windows中相似,可以說是一個Linux版的Windows。

  支持多種平臺

  Linux可以運行在多種硬件平臺上,如具有x86、680x0、SPARC、Alpha等處理器的平臺。此外Linux還是一種嵌入式操作系統,可以運行在掌上電腦、機頂盒或游戲機上。2001年1月份發布的Linux 2.4版內核已經能夠完全支持Intel 64位芯片架構。同時Linux也支持多處理器技術。多個處理器同時工作,使系統性能大大提高。


Linux中多線程相關文章:

1.linux查看線程命令

2.linux shell wait命令

3.xshell操作linux系統的常用命令

4.linux查看java進程命令

5.維護linux路由表的方法步驟詳解

4019156 主站蜘蛛池模板: 杭锦后旗| 鄂温| 大港区| 汽车| 肇庆市| 江门市| 上饶市| 苍南县| 潜江市| 宜昌市| 慈溪市| 顺义区| 嫩江县| 凭祥市| 含山县| 江华| 泰来县| 天津市| 仙桃市| 鄂州市| 巴楚县| 兰考县| 镇原县| 水城县| 饶阳县| 阜南县| 读书| 丽水市| 云龙县| 乌什县| 呼玛县| 藁城市| 册亨县| 中山市| 五大连池市| 永善县| 永泰县| 荥阳市| 文山县| 迭部县| 杭锦后旗|