陳家樂,董雪蓮,方慧檜,譚靜元
(南華大學,湖南 衡陽 421001)
線程則離不開進程。首先進程是一個正在執行中的程序,每一個進程執行都有一個執行順序,該順序是一個執行路徑,或者叫一個控制單元;線程就是進程中的一個獨立控制單元,線程在控制著進程的執行。一個進程中至少有一個進程。多線程:一個進程中不只有一個線程。
使用多線程,可以更好的利用CPU 的資源,如果只有一個線程,則第二個任務必須等到第一個任務結束后才能進行,如果使用多線程則在主線程執行任務的同時可以執行其他任務,而不需要等待;進程之間不能共享數據,線程可以;系統創建進程需要為該進程重新分配系統資源,創建線程代價比較小;Java 語言內置了多線程功能支持,簡化了java 多線程編程。
傳統的C++(C++98)中并沒有引入線程這個概念。Linux和Unix 操作系統的設計采用的是多進程,進程間的通信十分方便,同時進程之間互相有著獨立的空間,不會污染其他進程的數據,天然的隔離性給程序的穩定性帶來了很大的保障。而線程一直都不是Linux 和Unix 推崇的技術,為了使得C++更符合現代語言的特性,在C++11 中引入了多線程與并發技術。
隨著深度學習的發展,近些年來音頻算法在智能醫療、語音識別、聲源定位等領域的應用非常火熱,其效能和速度也不斷得到精進。從過去的云端服務,逐步脫離并發展到PC 端邊緣運算,到這幾年再往移動端運算發展。盡管硬件的運算能力越來越強大,但是模型輕量化仍是算法設計所追求的核心之一。……