假如在一個順序執行的函式中,有網路操作、有I/O操作、或者還有打開列印機等,這些任務在邏輯上沒有聯系,但是寫在了一個函式里,在編譯后運行中,這單個操作會被分成三個行程,并發執行嗎?
uj5u.com熱心網友回復:
看起來,你的這些操作都是涉及到IO的, 所有IO操作一般而言都提供 異步和同步 兩種呼叫方式。異步方式一般認為是多執行緒并發,可能會有執行順序上的問題。
同步方式就是順序執行,上一個完成,才會執行下一個。
uj5u.com熱心網友回復:
肯定的告訴你, 不會.希望什么時候編譯器能達到這種程度, 我們也就不再關心多執行緒問題了.
uj5u.com熱心網友回復:
多執行緒的函式必須是可重入的,也就是說,不能使用全域變數和靜態變數,在多執行緒下是各干各的不會互相影響(你的函式需要確定一些狀態變數以區分操作)
在你的描述中,除非你創建多個執行緒運行,否則不會拆分為多個執行緒,將以多執行緒方式運行
uj5u.com熱心網友回復:
《Windows核心編程》轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/108148.html
標籤:進程/線程/DLL
