一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是線程?線程與進(jìn)程與有什么關(guān)系?

Linux愛好者 ? 來(lái)源:Linux愛好者 ? 作者:Linux愛好者 ? 2020-12-11 16:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

什么是線程

什么是線程?線程與進(jìn)程與有什么關(guān)系?這是一個(gè)非常抽象的問(wèn)題,也是一個(gè)特別廣的話題,涉及到非常多的知識(shí)。我不能確保能把它講的話,也不能確保講的內(nèi)容全部都正確。即使這樣,我也希望盡可能地把他講通俗一點(diǎn),講的明白一點(diǎn),因?yàn)檫@是個(gè)一直困擾我很久的,撲朔迷離的知識(shí)領(lǐng)域,希望通過(guò)我的理解揭開它一層一層神秘的面紗。

任務(wù)調(diào)度

線程是什么?要理解這個(gè)概念,須要先了解一下操作系統(tǒng)的一些相關(guān)概念。

大部分操作系統(tǒng)(如Windows、Linux)的任務(wù)調(diào)度是采用時(shí)間片輪轉(zhuǎn)的搶占式調(diào)度方式,也就是說(shuō)一個(gè)任務(wù)執(zhí)行一小段時(shí)間后強(qiáng)制暫停去執(zhí)行下一個(gè)任務(wù),每個(gè)任務(wù)輪流執(zhí)行。任務(wù)執(zhí)行的一小段時(shí)間叫做時(shí)間片,任務(wù)正在執(zhí)行時(shí)的狀態(tài)叫運(yùn)行狀態(tài),任務(wù)執(zhí)行一段時(shí)間后強(qiáng)制暫停去執(zhí)行下一個(gè)任務(wù),被暫停的任務(wù)就處于就緒狀態(tài)等待下一個(gè)屬于它的時(shí)間片的到來(lái)。

這樣每個(gè)任務(wù)都能得到執(zhí)行,由于CPU的執(zhí)行效率非常高,時(shí)間片非常短,在各個(gè)任務(wù)之間快速地切換,給人的感覺就是多個(gè)任務(wù)在“同時(shí)進(jìn)行”,這也就是我們所說(shuō)的并發(fā)(別覺得并發(fā)有多高深,它的實(shí)現(xiàn)很復(fù)雜,但它的概念很簡(jiǎn)單,就是一句話:多個(gè)任務(wù)同時(shí)執(zhí)行)。多任務(wù)運(yùn)行過(guò)程的示意圖如下:

圖1:操作系統(tǒng)中的任務(wù)調(diào)度

進(jìn)程

我們都知道計(jì)算機(jī)的核心是CPU,它承擔(dān)了所有的計(jì)算任務(wù);而操作系統(tǒng)是計(jì)算機(jī)的管理者,它負(fù)責(zé)任務(wù)的調(diào)度、資源的分配和管理,統(tǒng)領(lǐng)整個(gè)計(jì)算機(jī)硬件;應(yīng)用程序側(cè)是具有某種功能的程序,程序是運(yùn)行于操作系統(tǒng)之上的。

進(jìn)程是一個(gè)具有一定獨(dú)立功能的程序在一個(gè)數(shù)據(jù)集上的一次動(dòng)態(tài)執(zhí)行的過(guò)程,是操作系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位,是應(yīng)用程序運(yùn)行的載體。

進(jìn)程是一種抽象的概念,從來(lái)沒有統(tǒng)一的標(biāo)準(zhǔn)定義。進(jìn)程一般由程序、數(shù)據(jù)集合和進(jìn)程控制塊三部分組成。

程序用于描述進(jìn)程要完成的功能,是控制進(jìn)程執(zhí)行的指令集;數(shù)據(jù)集合是程序在執(zhí)行時(shí)所需要的數(shù)據(jù)和工作區(qū);程序控制塊(Program Control Block,簡(jiǎn)稱PCB),包含進(jìn)程的描述信息和控制信息,是進(jìn)程存在的唯一標(biāo)志。

進(jìn)程具有的特征:

動(dòng)態(tài)性:進(jìn)程是程序的一次執(zhí)行過(guò)程,是臨時(shí)的,有生命期的,是動(dòng)態(tài)產(chǎn)生,動(dòng)態(tài)消亡的;

并發(fā)性:任何進(jìn)程都可以同其他進(jìn)程一起并發(fā)執(zhí)行;

獨(dú)立性:進(jìn)程是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位;

結(jié)構(gòu)性:進(jìn)程由程序、數(shù)據(jù)和進(jìn)程控制塊三部分組成。

線程

在早期的操作系統(tǒng)中并沒有線程的概念,進(jìn)程是能擁有資源和獨(dú)立運(yùn)行的最小單位,也是程序執(zhí)行的最小單位。

任務(wù)調(diào)度采用的是時(shí)間片輪轉(zhuǎn)的搶占式調(diào)度方式,而進(jìn)程是任務(wù)調(diào)度的最小單位,每個(gè)進(jìn)程有各自獨(dú)立的一塊內(nèi)存,使得各個(gè)進(jìn)程之間內(nèi)存地址相互隔離。

后來(lái),隨著計(jì)算機(jī)的發(fā)展,對(duì)CPU的要求越來(lái)越高,進(jìn)程之間的切換開銷較大,已經(jīng)無(wú)法滿足越來(lái)越復(fù)雜的程序的要求了。于是就發(fā)明了線程,線程是程序執(zhí)行中一個(gè)單一的順序控制流程,是程序執(zhí)行流的最小單元,是處理器調(diào)度和分派的基本單位。

一個(gè)進(jìn)程可以有一個(gè)或多個(gè)線程,各個(gè)線程之間共享程序的內(nèi)存空間(也就是所在進(jìn)程的內(nèi)存空間)。一個(gè)標(biāo)準(zhǔn)的線程由線程ID、當(dāng)前指令指針(PC)、寄存器和堆棧組成。而進(jìn)程由內(nèi)存空間(代碼、數(shù)據(jù)、進(jìn)程空間、打開的文件)和一個(gè)或多個(gè)線程組成。

進(jìn)程與線程的區(qū)別

前面講了進(jìn)程與線程,但可能你還覺得迷糊,感覺他們很類似。的確,進(jìn)程與線程有著千絲萬(wàn)縷的關(guān)系,下面就讓我們一起來(lái)理一理:

1.線程是程序執(zhí)行的最小單位,而進(jìn)程是操作系統(tǒng)分配資源的最小單位;

2.一個(gè)進(jìn)程由一個(gè)或多個(gè)線程組成,線程是一個(gè)進(jìn)程中代碼的不同執(zhí)行路線;

3.進(jìn)程之間相互獨(dú)立,但同一進(jìn)程下的各個(gè)線程之間共享程序的內(nèi)存空間(包括代碼段、數(shù)據(jù)集、堆等)及一些進(jìn)程級(jí)的資源(如打開文件和信號(hào)),某進(jìn)程內(nèi)的線程在其它進(jìn)程不可見;

4.調(diào)度和切換:線程上下文切換比進(jìn)程上下文切換要快得多。

線程與進(jìn)程關(guān)系的示意圖:

圖2:進(jìn)程與線程的資源共享關(guān)系

圖3:?jiǎn)尉€程與多線程的關(guān)系

總之,線程和進(jìn)程都是一種抽象的概念,線程是一種比進(jìn)程更小的抽象,線程和進(jìn)程都可用于實(shí)現(xiàn)并發(fā)。

在早期的操作系統(tǒng)中并沒有線程的概念,進(jìn)程是能擁有資源和獨(dú)立運(yùn)行的最小單位,也是程序執(zhí)行的最小單位。它相當(dāng)于一個(gè)進(jìn)程里只有一個(gè)線程,進(jìn)程本身就是線程。

所以線程有時(shí)被稱為輕量級(jí)進(jìn)程(Lightweight Process,LWP)。

圖4:早期的操作系統(tǒng)只有進(jìn)程,沒有線程

后來(lái),隨著計(jì)算機(jī)的發(fā)展,對(duì)多個(gè)任務(wù)之間上下文切換的效率要求越來(lái)越高,就抽象出一個(gè)更小的概念——線程,一般一個(gè)進(jìn)程會(huì)有多個(gè)(也可是一個(gè))線程。

圖5:線程的出現(xiàn),使得一個(gè)進(jìn)程可以有多個(gè)線程

多線程與多核

上面提到的時(shí)間片輪轉(zhuǎn)的調(diào)度方式說(shuō)一個(gè)任務(wù)執(zhí)行一小段時(shí)間后強(qiáng)制暫停去執(zhí)行下一個(gè)任務(wù),每個(gè)任務(wù)輪流執(zhí)行。很多操作系統(tǒng)的書都說(shuō)“同一時(shí)間點(diǎn)只有一個(gè)任務(wù)在執(zhí)行”。那有人可能就要問(wèn)雙核處理器呢?難道兩個(gè)核不是同時(shí)運(yùn)行嗎?

其實(shí)“同一時(shí)間點(diǎn)只有一個(gè)任務(wù)在執(zhí)行”這句話是不準(zhǔn)確的,至少它是不全面的。那多核處理器的情況下,線程是怎樣執(zhí)行呢?這就需要了解內(nèi)核線程。

多核(心)處理器是指在一個(gè)處理器上集成多個(gè)運(yùn)算核心從而提高計(jì)算能力,也就是有多個(gè)真正并行計(jì)算的處理核心,每一個(gè)處理核心對(duì)應(yīng)一個(gè)內(nèi)核線程。

內(nèi)核線程(KernelThread,KLT)就是直接由操作系統(tǒng)內(nèi)核支持的線程,這種線程由內(nèi)核來(lái)完成線程切換,內(nèi)核通過(guò)操作調(diào)度器對(duì)線程進(jìn)行調(diào)度,并負(fù)責(zé)將線程的任務(wù)映射到各個(gè)處理器上。一般一個(gè)處理核心對(duì)應(yīng)一個(gè)內(nèi)核線程,比如單核處理器對(duì)應(yīng)一個(gè)內(nèi)核線程,雙核處理器對(duì)應(yīng)兩個(gè)內(nèi)核線程,四核處理器對(duì)應(yīng)四個(gè)內(nèi)核線程。

現(xiàn)在的電腦一般是雙核四線程、四核八線程,是采用超線程技術(shù)將一個(gè)物理處理核心模擬成兩個(gè)邏輯處理核心,對(duì)應(yīng)兩個(gè)內(nèi)核線程,所以在操作系統(tǒng)中看到的CPU數(shù)量是實(shí)際物理CPU數(shù)量的兩倍,如你的電腦是雙核四線程,打開“任務(wù)管理器性能”可以看到4個(gè)CPU的監(jiān)視器,四核八線程可以看到8個(gè)CPU的監(jiān)視器。

圖6:雙核四線程在Windows8下查看的結(jié)果

超線程技術(shù)就是利用特殊的硬件指令,把一個(gè)物理芯片模擬成兩個(gè)邏輯處理核心,讓單個(gè)處理器都能使用線程級(jí)并行計(jì)算,進(jìn)而兼容多線程操作系統(tǒng)和軟件,減少了CPU的閑置時(shí)間,提高的CPU的運(yùn)行效率。

這種超線程技術(shù)(如雙核四線程)由處理器硬件的決定,同時(shí)也需要操作系統(tǒng)的支持才能在計(jì)算機(jī)中表現(xiàn)出來(lái)。

程序一般不會(huì)直接去使用內(nèi)核線程,而是去使用內(nèi)核線程的一種高級(jí)接口——輕量級(jí)進(jìn)程(LightWeightProcess,LWP),輕量級(jí)進(jìn)程就是我們通常意義上所講的線程(我們?cè)谶@稱它為用戶線程),由于每個(gè)輕量級(jí)進(jìn)程都由一個(gè)內(nèi)核線程支持,因此只有先支持內(nèi)核線程,才能有輕量級(jí)進(jìn)程。

用戶線程與內(nèi)核線程的對(duì)應(yīng)關(guān)系有三種模型:一對(duì)一模型、多對(duì)一模型、多對(duì)多模型,在這以4個(gè)內(nèi)核線程、3個(gè)用戶線程為例對(duì)三種模型進(jìn)行說(shuō)明。

一對(duì)一模型

對(duì)于一對(duì)一模型來(lái)說(shuō),一個(gè)用戶線程就唯一地對(duì)應(yīng)一個(gè)內(nèi)核線程(反過(guò)來(lái)不一定成立,一個(gè)內(nèi)核線程不一定有對(duì)應(yīng)的用戶線程)。這樣,如果CPU沒有采用超線程技術(shù)(如四核四線程的計(jì)算機(jī)),一個(gè)用戶線程就唯一地映射到一個(gè)物理CPU的線程,線程之間的并發(fā)是真正的并發(fā)。一對(duì)一模型使用戶線程具有與內(nèi)核線程一樣的優(yōu)點(diǎn),一個(gè)線程因某種原因阻塞時(shí)其他線程的執(zhí)行不受影響;此處,一對(duì)一模型也可以讓多線程程序在多處理器的系統(tǒng)上有更好的表現(xiàn)。

但一對(duì)一模型也有兩個(gè)缺點(diǎn):1.許多操作系統(tǒng)限制了內(nèi)核線程的數(shù)量,因此一對(duì)一模型會(huì)使用戶線程的數(shù)量受到限制;2.許多操作系統(tǒng)內(nèi)核線程調(diào)度時(shí),上下文切換的開銷較大,導(dǎo)致用戶線程的執(zhí)行效率下降。

7417affa-348a-11eb-a64d-12bb97331649.png

圖7:一對(duì)一模型

多對(duì)一模型

多對(duì)一模型將多個(gè)用戶線程映射到一個(gè)內(nèi)核線程上,線程之間的切換由用戶態(tài)的代碼來(lái)進(jìn)行,因此相對(duì)一對(duì)一模型,多對(duì)一模型的線程切換速度要快許多;此外,多對(duì)一模型對(duì)用戶線程的數(shù)量幾乎無(wú)限制。但多對(duì)一模型也有兩個(gè)缺點(diǎn):1.如果其中一個(gè)用戶線程阻塞,那么其它所有線程都將無(wú)法執(zhí)行,因?yàn)榇藭r(shí)內(nèi)核線程也隨之阻塞了;2.在多處理器系統(tǒng)上,處理器數(shù)量的增加對(duì)多對(duì)一模型的線程性能不會(huì)有明顯的增加,因?yàn)樗械挠脩艟€程都映射到一個(gè)處理器上了。

7430848a-348a-11eb-a64d-12bb97331649.png

圖8:多對(duì)一模型

多對(duì)多模型

多對(duì)多模型結(jié)合了一對(duì)一模型和多對(duì)一模型的優(yōu)點(diǎn),將多個(gè)用戶線程映射到多個(gè)內(nèi)核線程上。多對(duì)多模型的優(yōu)點(diǎn)有:1.一個(gè)用戶線程的阻塞不會(huì)導(dǎo)致所有線程的阻塞,因?yàn)榇藭r(shí)還有別的內(nèi)核線程被調(diào)度來(lái)執(zhí)行;2.多對(duì)多模型對(duì)用戶線程的數(shù)量沒有限制;3.在多處理器的操作系統(tǒng)中,多對(duì)多模型的線程也能得到一定的性能提升,但提升的幅度不如一對(duì)一模型的高。

在現(xiàn)在流行的操作系統(tǒng)中,大都采用多對(duì)多的模型。

74ae2c32-348a-11eb-a64d-12bb97331649.png

圖9:多對(duì)多模型

查看進(jìn)程與線程

一個(gè)應(yīng)用程序可能是多線程的,也可能是多進(jìn)程的,如何查看呢?在Windows下我們只須打開任務(wù)管理器就能查看一個(gè)應(yīng)用程序的進(jìn)程和線程數(shù)。按“Ctrl+Alt+Del”或右鍵快捷工具欄打開任務(wù)管理器。

查看進(jìn)程數(shù)和線程數(shù):

74d32168-348a-11eb-a64d-12bb97331649.png

圖10:查看線程數(shù)和進(jìn)程數(shù)

在“進(jìn)程”選項(xiàng)卡下,我們可以看到一個(gè)應(yīng)用程序包含的線程數(shù)。如果一個(gè)應(yīng)用程序有多個(gè)進(jìn)程,我們能看到每一個(gè)進(jìn)程,如在上圖中,Google的chrome瀏覽器就有多個(gè)進(jìn)程。同時(shí),如果打開了一個(gè)應(yīng)用程序的多個(gè)實(shí)例也會(huì)有多個(gè)進(jìn)程,如上圖中我打開了兩個(gè)cmd窗口,就有兩個(gè)cmd進(jìn)程。如果看不到線程數(shù)這一列,可以在點(diǎn)擊“查看選擇列”菜單,增加監(jiān)聽的列。

查看CPU和內(nèi)存的使用率:

在性能選項(xiàng)卡中,我們可以查看CPU和內(nèi)存的使用率,根據(jù)CPU使用記錄的監(jiān)視器的個(gè)數(shù)還能看出邏輯處理核心的個(gè)數(shù),如我的雙核四線程的計(jì)算機(jī)就有四個(gè)監(jiān)視器。

圖11:查看CPU和內(nèi)存的使用率

線程的生命周期

當(dāng)線程的數(shù)量小于處理器的數(shù)量時(shí),線程的并發(fā)是真正的并發(fā),不同的線程運(yùn)行在不同的處理器上。但當(dāng)線程的數(shù)量大于處理器的數(shù)量時(shí),線程的并發(fā)會(huì)受到一些阻礙,此時(shí)并不是真正的并發(fā),因?yàn)榇藭r(shí)至少有一個(gè)處理器會(huì)運(yùn)行多個(gè)線程。

在單個(gè)處理器運(yùn)行多個(gè)線程時(shí),并發(fā)是一種模擬出來(lái)的狀態(tài)。操作系統(tǒng)采用時(shí)間片輪轉(zhuǎn)的方式輪流執(zhí)行每一個(gè)線程?,F(xiàn)在,幾乎所有的現(xiàn)代操作系統(tǒng)采用的都是時(shí)間片輪轉(zhuǎn)的搶占式調(diào)度方式,如我們熟悉的Unix、Linux、Windows及MacOSX等流行的操作系統(tǒng)。

我們知道線程是程序執(zhí)行的最小單位,也是任務(wù)執(zhí)行的最小單位。在早期只有進(jìn)程的操作系統(tǒng)中,進(jìn)程有五種狀態(tài),創(chuàng)建、就緒、運(yùn)行、阻塞(等待)、退出。早期的進(jìn)程相當(dāng)于現(xiàn)在的只有單個(gè)線程的進(jìn)程,那么現(xiàn)在的多線程也有五種狀態(tài),現(xiàn)在的多線程的生命周期與早期進(jìn)程的生命周期類似。

圖12:早期進(jìn)程的生命周期

進(jìn)程在運(yùn)行過(guò)程有三種狀態(tài):就緒、運(yùn)行、阻塞,創(chuàng)建和退出狀態(tài)描述的是進(jìn)程的創(chuàng)建過(guò)程和退出過(guò)程。

創(chuàng)建:進(jìn)程正在創(chuàng)建,還不能運(yùn)行。操作系統(tǒng)在創(chuàng)建進(jìn)程時(shí)要進(jìn)行的工作包括分配和建立進(jìn)程控制塊表項(xiàng)、建立資源表格并分配資源、加載程序并建立地址空間;

就緒:時(shí)間片已用完,此線程被強(qiáng)制暫停,等待下一個(gè)屬于他的時(shí)間片到來(lái);

運(yùn)行:此線程正在執(zhí)行,正在占用時(shí)間片;

阻塞:也叫等待狀態(tài),等待某一事件(如IO或另一個(gè)線程)執(zhí)行完;

退出:進(jìn)程已結(jié)束,所以也稱結(jié)束狀態(tài),釋放操作系統(tǒng)分配的資源。

圖13:線程的生命周期

創(chuàng)建:一個(gè)新的線程被創(chuàng)建,等待該線程被調(diào)用執(zhí)行;

就緒:時(shí)間片已用完,此線程被強(qiáng)制暫停,等待下一個(gè)屬于他的時(shí)間片到來(lái);

運(yùn)行:此線程正在執(zhí)行,正在占用時(shí)間片;

阻塞:也叫等待狀態(tài),等待某一事件(如IO或另一個(gè)線程)執(zhí)行完;

退出:一個(gè)線程完成任務(wù)或者其他終止條件發(fā)生,該線程終止進(jìn)入退出狀態(tài),退出狀態(tài)釋放該線程所分配的資源。

責(zé)任編輯:lq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11080

    瀏覽量

    217062
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7151

    瀏覽量

    125579
  • 線程
    +關(guān)注

    關(guān)注

    0

    文章

    508

    瀏覽量

    20212

原文標(biāo)題:編程思想之多線程與多進(jìn)程

文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    UVC+MSC實(shí)現(xiàn)中MSC線程未運(yùn)行的原因?

    我正在嘗試使用 EZUSB 運(yùn)行 UVC + MSC。我以下內(nèi)容。但看起來(lái)只有 UVC 線程在運(yùn)行,而 MSC 沒有運(yùn)行。fw 不響應(yīng) MSC 命令。我確保 LPM 已被禁用,只是為了檢查傳感器
    發(fā)表于 07-16 07:08

    什么是STM32? STM32與ARM什么關(guān)系? STM32能做什么?

    什么是STM32 具體用于什么方面較多?? STM32與ARM什么關(guān)系 STM32能做什么,簡(jiǎn)單的比如調(diào)節(jié)協(xié)議,為什么那么久的產(chǎn)品到現(xiàn)在還是主流?
    發(fā)表于 06-23 17:34

    線程的安全注意事項(xiàng)

    線程安全是指多個(gè)線程同時(shí)訪問(wèn)或修改共享資源時(shí),能夠保證程序的正確性和可靠性。 開發(fā)者選擇TaskPool或Worker進(jìn)行多線程開發(fā)時(shí),在TaskPool和Worker的工作線程中導(dǎo)
    發(fā)表于 06-20 07:49

    進(jìn)程線程、協(xié)程傻傻分不清?一文帶你徹底扒光它們的\"底褲\"!

    各位程序員朋友(和假裝懂技術(shù)的同事):如果你在面試時(shí)被問(wèn)到:\"請(qǐng)用奶茶店類比進(jìn)程、線程和協(xié)程\",而你回答:\"進(jìn)程是老板,線程是員工,協(xié)程是兼職...\"
    發(fā)表于 03-26 09:27

    請(qǐng)問(wèn)如何在Python中實(shí)現(xiàn)多線程與多進(jìn)程的協(xié)作?

    大家好!我最近在開發(fā)一個(gè)Python項(xiàng)目時(shí),需要同時(shí)處理多個(gè)任務(wù),且每個(gè)任務(wù)需要不同的計(jì)算資源。我想通過(guò)多線程和多進(jìn)程的組合來(lái)實(shí)現(xiàn)并發(fā),但遇到了一些問(wèn)題。 具體來(lái)說(shuō),我兩個(gè)任務(wù),一個(gè)是I/O密集型
    發(fā)表于 03-11 06:57

    國(guó)產(chǎn)GPU獨(dú)角獸摩爾線程啟動(dòng)上市輔導(dǎo)

    近日,國(guó)內(nèi)GPU領(lǐng)域的獨(dú)角獸企業(yè)摩爾線程正式在北京證監(jiān)局辦理了上市輔導(dǎo)備案登記,標(biāo)志著其A股上市進(jìn)程已全面啟動(dòng)。此次輔導(dǎo)機(jī)構(gòu)選定為中信證券,將為摩爾線程的上市之路提供有力支持。
    的頭像 發(fā)表于 11-14 14:21 ?591次閱讀

    socket 多線程編程實(shí)現(xiàn)方法

    是指在同一個(gè)進(jìn)程中運(yùn)行多個(gè)線程,每個(gè)線程可以獨(dú)立執(zhí)行任務(wù)。線程共享進(jìn)程的資源,如內(nèi)存空間和文件句柄,但每個(gè)
    的頭像 發(fā)表于 11-12 14:16 ?1015次閱讀

    摩爾線程完成股改,籌備上市

    近日,摩爾線程智能科技(北京)股份有限公司(簡(jiǎn)稱“摩爾線程”)宣布已完成股改,并正積極籌備上市。據(jù)國(guó)家企業(yè)信用信息公示系統(tǒng)最新查詢結(jié)果顯示,摩爾線程的市場(chǎng)主體類型在10月28日已從其他有限責(zé)任公司
    的頭像 發(fā)表于 11-12 14:15 ?1173次閱讀

    一文搞懂Linux進(jìn)程的睡眠和喚醒

    一、常見的進(jìn)程狀態(tài)與理解 在操作系統(tǒng)內(nèi)部,專門用來(lái)管理進(jìn)程的結(jié)構(gòu)體,叫做struct task_struct,也稱作進(jìn)程控制塊(PCB),主要包含描述
    發(fā)表于 11-04 15:15

    摩爾線程與超圖軟件完成產(chǎn)品兼容認(rèn)證

    10月24日,摩爾線程官方正式對(duì)外宣布,其MTT S/X系列全功能GPU已成功與超圖軟件最新發(fā)布的大模型系列產(chǎn)品完成產(chǎn)品兼容認(rèn)證。這一消息的發(fā)布標(biāo)志著雙方在GPU與軟件適配方面的合作取得了重要進(jìn)展
    的頭像 發(fā)表于 10-24 10:25 ?981次閱讀

    Python中多線程和多進(jìn)程的區(qū)別

    Python作為一種高級(jí)編程語(yǔ)言,提供了多種并發(fā)編程的方式,其中多線程與多進(jìn)程是最常見的兩種方式之一。在本文中,我們將探討Python中多線程與多進(jìn)程的概念、區(qū)別以及如何使用
    的頭像 發(fā)表于 10-23 11:48 ?1021次閱讀
    Python中多<b class='flag-5'>線程</b>和多<b class='flag-5'>進(jìn)程</b>的區(qū)別

    買藥秒送 JADE動(dòng)態(tài)線程池實(shí)踐及原理淺析

    一、背景及JADE介紹 買藥秒送是健康即時(shí)零售業(yè)務(wù)新的核心流量場(chǎng)域,面對(duì)京東首頁(yè)高流量曝光,我們對(duì)頻道頁(yè)整個(gè)技術(shù)架構(gòu)方案進(jìn)行升級(jí),保障接口高性能、系統(tǒng)高可用。 動(dòng)態(tài)線程池是買藥頻道應(yīng)用的技術(shù)之一
    的頭像 發(fā)表于 09-04 11:11 ?1181次閱讀
    買藥秒送 JADE動(dòng)態(tài)<b class='flag-5'>線程</b>池實(shí)踐及原理淺析

    CPU線程和程序線程的區(qū)別

    CPU的線程與程序的線程在概念、作用、實(shí)現(xiàn)方式以及性能影響等方面存在顯著差異。以下是對(duì)兩者區(qū)別的詳細(xì)闡述,旨在深入探討這一技術(shù)話題。
    的頭像 發(fā)表于 09-02 11:18 ?2131次閱讀

    一文掌握Python多線程

    使用線程可以把占據(jù)長(zhǎng)時(shí)間的程序中的任務(wù)放到后臺(tái)去處理。
    的頭像 發(fā)表于 08-05 15:46 ?1259次閱讀

    摩爾線程與國(guó)內(nèi)EDA企業(yè)合作加速GPU芯片設(shè)計(jì)

    7月19日,摩爾線程公司正式宣布與國(guó)內(nèi)EDA(電子設(shè)計(jì)自動(dòng)化)領(lǐng)域的領(lǐng)軍企業(yè)締結(jié)戰(zhàn)略伙伴關(guān)系,此舉標(biāo)志著雙方在推動(dòng)中國(guó)半導(dǎo)體設(shè)計(jì)核心技術(shù)自主化進(jìn)程上邁出了堅(jiān)實(shí)步伐。EDA,被譽(yù)為半導(dǎo)體行業(yè)的“基石”,其全球市場(chǎng)份額長(zhǎng)期由歐美三強(qiáng)
    的頭像 發(fā)表于 07-19 14:48 ?2452次閱讀