程序管理 執行緒概念

2021-09-26 14:15:19 字數 865 閱讀 3348

一、執行緒概念(thread)

執行緒是可由cpu直接執行的實體

乙個程序內部可建立多個執行緒

多個執行緒共享cpu可以實現併發執行

執行緒的併發程度要比程序更細

windows的createthread()

功能:把乙個函式建立為乙個程序

handle createthread (lpsecurity_attributes lpthreadattributes,dword dwstacksize,lpthread_routine threadfunction//執行緒函式,lpvoid lpparameter//執行緒函式引數)

執行緒函式的原型

dword threadfunction(lpvoid lpparameter//引數)

單執行緒程式和多執行緒程式

單執行緒程式:整個程序只有乙個執行緒。windows程式預設只有乙個執行緒(主線程,main執行緒)

多執行緒程式:整個執行緒至少有兩個執行緒。主線程和至少乙個使用者執行緒

二、典型應用場景

1、程式的多個功能需要併發執行

2、提高視窗程式的互動性(後台運算與前端互動操作分為兩個執行緒進行執行)

3、需要改善程式結構的地方

4、多喝cpu上的應用,充分發揮多核效能

建立執行緒:

win32庫建立執行緒:createthread (執行緒函式,引數)

mfc建立執行緒:afxbeginthread(執行緒函式,引數)

建立遠端執行緒:createremotethread (程序,執行緒函式,引數)

linux建立執行緒:pthread_create(執行緒函式,引數)

使用執行緒的麻煩

程式難以除錯

執行緒安全問題

併發過程難以控制

os 程序執行緒概念

作業系統中為了提供cpu的利用率,引入了多道程式設計,於是就有了程序的概念。程序模型無疑提高了cpu的利用率,因為多個程序可以 同時 執行在乙個cpu上,乙個程序被阻塞掉了,另乙個程序就可以被排程上cpu繼續執行了。這樣降低了cpu閒置的時間。但是程序模型卻存在乙個問題。那就是如果乙個程序被阻塞掉了...

執行緒 程序 多執行緒核心概念

執行緒就是獨立的執行路徑 在程式執行時,即使沒有自己建立執行緒,後台也會有多個執行緒,如主線程,gc執行緒 main 稱之為主線程,為系統的入口,用於執行整個程式 在乙個程序中,如果開闢了多個執行緒,執行緒的執行由排程器安排排程,排程器是與作業系統緊密相關的,先後順序是不能人為的干預的。對同乙份資源...

程序管理(程序概念與同步)

前言 在早期的作業系統中在記憶體中只有乙個程式 作業 cpu一次執行乙個程式 作業 這是程式的順序執行。為了提高cpu的利用率現代作業系統中可以讓多個程式 作業 載入到記憶體中,這是程式 程序 的併發執行。順序執行與併發執行 順序執行 顧名思義,按照程式的順序執行 併發執行 書上的定義是多個程序實體...