在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

Go語(yǔ)言在多線程領(lǐng)域編程、跨異構(gòu)平臺(tái)及編程難易程度的優(yōu)勢(shì)

SwM2_ChinaAET ? 來(lái)源:未知 ? 作者:李倩 ? 2018-08-14 09:25 ? 次閱讀

摘要:代表信息新時(shí)代的Go語(yǔ)言誕生了,它所具有的高并發(fā)性非常適合服務(wù)器編程,而其天生的跨平臺(tái)優(yōu)勢(shì),降低了分布式異構(gòu)計(jì)算平臺(tái)的開(kāi)發(fā)難度,最終讓程序變得簡(jiǎn)潔、干凈、高效。對(duì)Go語(yǔ)言在國(guó)產(chǎn)平臺(tái)上的移植進(jìn)行探索,實(shí)測(cè)Go語(yǔ)言在龍芯和飛騰兩個(gè)國(guó)產(chǎn)平臺(tái)的多核調(diào)用功能,分析研判結(jié)果,得出結(jié)論,為未來(lái)Go語(yǔ)言在國(guó)產(chǎn)平臺(tái)的發(fā)展提供參考。

0 引言

CPU電子產(chǎn)品的核心,代表著信息產(chǎn)業(yè)的發(fā)展水平。CPU發(fā)展至今已經(jīng)有四十多年的歷史了,實(shí)際就是Intel公司的發(fā)展歷史[1]。Intel的CPU和其兼容產(chǎn)品占領(lǐng)了PC的大半江山。我國(guó)CPU戰(zhàn)略已經(jīng)發(fā)展十余年,部分領(lǐng)域完全具有核心技術(shù),產(chǎn)業(yè)化取得積極進(jìn)展,但是與國(guó)際主流廠商Intel等仍存在較大差距。國(guó)產(chǎn)CPU由于受多方因素制約,單核性能并不高,在2000年左右所有的微處理器廠商都轉(zhuǎn)向了多核微處理器的開(kāi)發(fā)。為提升CPU性能,國(guó)產(chǎn)CPU均為多核設(shè)計(jì)。目前,部分產(chǎn)品雖然在黨政軍部門及重要的信息系統(tǒng)有所應(yīng)用,但是由于產(chǎn)業(yè)生態(tài)還未建立,所應(yīng)用的場(chǎng)景還比較簡(jiǎn)單,可用于開(kāi)發(fā)應(yīng)用的編程語(yǔ)言也較為單一。國(guó)產(chǎn)CPU的發(fā)展事關(guān)我國(guó)信息產(chǎn)業(yè)的核心競(jìng)爭(zhēng)力和可持續(xù)發(fā)展力。為了充分發(fā)揮國(guó)產(chǎn)CPU的性能,需要通過(guò)并行編程來(lái)解決。

Go語(yǔ)言設(shè)計(jì)目標(biāo)之一就是多核編程,不使用多線程編程模型,通過(guò)基于CSP的communication通道并發(fā)編程,使得并發(fā)編程更加簡(jiǎn)便。Go語(yǔ)言原生支持廣泛應(yīng)用的X86、X64指令集,而且支持龍芯的MIPS64及飛騰的ARM64指令集。這使得Go語(yǔ)言程序在跨平臺(tái)移植上天生具有優(yōu)勢(shì)。Go語(yǔ)言的其他一些特性使得其在國(guó)產(chǎn)CPU平臺(tái)應(yīng)用具有非常廣泛的前景。

1 Go語(yǔ)言簡(jiǎn)介

Go語(yǔ)言是2009年11月Google正式宣布推出的一種編程語(yǔ)言。它的并發(fā)機(jī)制使得編寫能夠充分利用多核和網(wǎng)絡(luò)通信的程序變得非常容易。Go語(yǔ)言是靜態(tài)類型的語(yǔ)言,它的類型系統(tǒng)沒(méi)有層級(jí),完全垃圾回收,比典型的面向?qū)ο笳Z(yǔ)言更輕量級(jí);Go語(yǔ)言是一種編譯型語(yǔ)言,它結(jié)合了解釋型語(yǔ)言的游刃有余,動(dòng)態(tài)類型語(yǔ)言的開(kāi)發(fā)效率,以及靜態(tài)類型的安全性。

Go編譯器支持包括:x86、x64、ARM、arm64、ppc64、ppc64le、mips、mipsle、mips64、mips64le、s390x多種不同的CPU指令集。可以支持包括FreeBSDLinux、Solaris和Windows等的多種操作系統(tǒng)。Go語(yǔ)言是跨平臺(tái)、跨操作系統(tǒng)的語(yǔ)言,部署非常簡(jiǎn)單。Go 編譯生成的是一個(gè)靜態(tài)可執(zhí)行文件,除了glibc外沒(méi)有其他外部依賴。Go的并發(fā)性好,而且goroutine 和 channel 使得編寫高并發(fā)的服務(wù)端軟件變得相當(dāng)容易,非常適合用來(lái)服務(wù)器編程。目前Go語(yǔ)言已經(jīng)成功的項(xiàng)目包括目前比較流行的云框架Docker、NSQ等分布式框架等。

2 國(guó)產(chǎn)CPU平臺(tái)簡(jiǎn)介及應(yīng)用現(xiàn)狀

目前,我國(guó)自主研發(fā)的處理器芯片主要包括龍芯(MIPS64指令集)、申威(Alpha指令集)、飛騰(ARM64指令集)及兆芯(X86指令集)4類。商用領(lǐng)域基于龍芯3B1500 CPU、飛騰FA1500A CPU生產(chǎn)的商用服務(wù)器占據(jù)國(guó)產(chǎn)服務(wù)器主流位置,龍芯、飛騰服務(wù)器分別搭載中標(biāo)麒麟及銀河麒麟操作系統(tǒng)。

在商用領(lǐng)域,全國(guó)產(chǎn)化平臺(tái)剛剛起步,配套的商用軟件較少,沒(méi)有建立起完整的產(chǎn)業(yè)生態(tài),同時(shí)又受到處理器自身性能的影響,基于上述兩款主流處理器平臺(tái)的服務(wù)器,主要還是用于對(duì)系統(tǒng)訪問(wèn)并發(fā)及響應(yīng)時(shí)間要求不高的Web網(wǎng)站類網(wǎng)絡(luò)應(yīng)用服務(wù)。國(guó)產(chǎn)處理器應(yīng)用服務(wù)的開(kāi)發(fā)還是以Java語(yǔ)言為主,搭配開(kāi)源JBoss、Ttomcat或國(guó)產(chǎn)中間件,數(shù)據(jù)庫(kù)采用國(guó)產(chǎn)數(shù)據(jù)庫(kù)或MySQL等開(kāi)源數(shù)據(jù)庫(kù)。

3 Go語(yǔ)言在國(guó)產(chǎn)平臺(tái)的優(yōu)勢(shì)

3.1 國(guó)產(chǎn)平臺(tái)現(xiàn)有的編程語(yǔ)言匱乏

目前,基于國(guó)產(chǎn)CPU的國(guó)產(chǎn)化平臺(tái)比較成熟的僅有C、C++編譯器。廠商對(duì)Java虛擬機(jī)在國(guó)產(chǎn)平臺(tái)上進(jìn)行編譯、適配及優(yōu)化。由于Java應(yīng)用運(yùn)行過(guò)程中依賴的大量Java第三方框架都是源于X86構(gòu)架體系,并未針對(duì)國(guó)產(chǎn)CPU進(jìn)行優(yōu)化,一些應(yīng)用在大壓力或大并發(fā)等某些場(chǎng)景下會(huì)出現(xiàn)假死、宕機(jī)等情況,嚴(yán)重影響應(yīng)用的正常運(yùn)行。雖然國(guó)產(chǎn)平臺(tái)也支持其他編程語(yǔ)言如Python、PHP等,但這類腳本語(yǔ)言的解釋器也是交叉編譯獲得的,并非自身支持,在進(jìn)行跨平臺(tái)交叉編譯過(guò)程中會(huì)遇到各種問(wèn)題,很多問(wèn)題需要軟件開(kāi)發(fā)人員修改軟件源代碼,未經(jīng)過(guò)大量適配驗(yàn)證,很難保證其開(kāi)發(fā)的應(yīng)用的穩(wěn)定性。

3.2 Go語(yǔ)言的跨平臺(tái)及并發(fā)優(yōu)勢(shì)

Go語(yǔ)言原生支持龍芯CPU的MIPS64le指令集和飛騰CPU的ARM64指令集,天生具有跨平臺(tái)優(yōu)勢(shì)。Go開(kāi)發(fā)應(yīng)用在任意平臺(tái)開(kāi)發(fā)完成后,直接編譯,編譯后的二進(jìn)制文件在同類平臺(tái)可直接拷貝運(yùn)行,無(wú)需再次重新編譯。除了glibc外,無(wú)需其他外部依賴。可以直接在該開(kāi)發(fā)平臺(tái)的任意計(jì)算機(jī)上運(yùn)行,無(wú)需像Java運(yùn)行那樣需要虛擬機(jī),需要配置復(fù)雜的環(huán)境變量;在作為網(wǎng)絡(luò)服務(wù)時(shí)更不需要像Tomcat、Apache等的Web中間件。

Go語(yǔ)言的異構(gòu)平臺(tái)移植也非常簡(jiǎn)單,僅需要應(yīng)用程序的源碼,在異構(gòu)平臺(tái)上直接編譯即可,且編譯后的二進(jìn)制文件在同類平臺(tái)可直接拷貝運(yùn)行。Go語(yǔ)言本身就具有天生的跨平臺(tái)優(yōu)勢(shì),大大降低了分布式異構(gòu)計(jì)算平臺(tái)的開(kāi)發(fā)難度,非常適合在目前多構(gòu)架的國(guó)產(chǎn)化平臺(tái)上作為開(kāi)發(fā)語(yǔ)言。

Go語(yǔ)言在并發(fā)方面,goroutine和channel機(jī)制提供了輕量級(jí)并發(fā)機(jī)制;在性能方面,與Java的性能不分上下,而內(nèi)存資源消耗方面,相對(duì)Java和其他動(dòng)態(tài)語(yǔ)言,具備明顯的優(yōu)勢(shì)。在網(wǎng)絡(luò)和HTTP應(yīng)用方面,Go語(yǔ)言有良好的標(biāo)準(zhǔn)庫(kù)和生態(tài)系統(tǒng)支持,而在標(biāo)準(zhǔn)庫(kù)方面,已提供了處理多種網(wǎng)絡(luò)所需的輕量級(jí)的代碼庫(kù),對(duì)網(wǎng)絡(luò)的核心協(xié)議HTTP的高并發(fā)支持,完全可以撼動(dòng)Java。國(guó)產(chǎn)處理器由于指令集及工藝等多方面原因,導(dǎo)致單核計(jì)算性能不高,為提高整體計(jì)算能力均采用多核技術(shù)。如:龍芯3B1500為8核,商用服務(wù)器為雙路16核(2顆3B1500),飛騰FT1500A服務(wù)器為16核。因此,充分利用多核計(jì)算能力或搭建基于國(guó)產(chǎn)處理器的云計(jì)算平臺(tái)是目前國(guó)產(chǎn)化平臺(tái)的提高整體性能發(fā)展的方向。

4 Go語(yǔ)言在國(guó)產(chǎn)環(huán)境下的移植

以飛騰平臺(tái)為例,飛騰CPU采用ARM64構(gòu)架。首先在X86平臺(tái)上交叉編譯出面向ARM64平臺(tái)的Go語(yǔ)言自舉編譯工具,利用$GOOS=linux GOARCH=arm64./bootstrap.bash 編譯命令編譯出可在ARM64平臺(tái)運(yùn)行的Go語(yǔ)言自舉編譯工具,然后利用該自舉編譯工具在ARM64平臺(tái)編譯安裝Go源碼。安裝完成后,Go語(yǔ)言會(huì)自動(dòng)進(jìn)行自身測(cè)試。測(cè)試完成后提示ALL TESTS PASSED,添加GOROOT至系統(tǒng)環(huán)境變量。Go語(yǔ)言的移植完成。龍芯平臺(tái)移植過(guò)程與飛騰平臺(tái)移植過(guò)程不同之處是在編譯自舉工具時(shí)GOARCH參數(shù)設(shè)置為MIPS64le。

5 Go語(yǔ)言的多核工作原理簡(jiǎn)介

Go語(yǔ)言可以快速高效地調(diào)用多核進(jìn)行計(jì)算,其優(yōu)勢(shì)源于Go語(yǔ)言的Go runtime的調(diào)度器[2]。

用戶空間線程和內(nèi)核空間線程之間的映射關(guān)系有N:1、1:1和M:N 3種通常的線程模型。其中N:1模型是幾個(gè)用戶空間線程在一個(gè)OS線程上運(yùn)行。該模型上下文切換非常快速,但不能利用多核系統(tǒng)的優(yōu)點(diǎn)。1:1模型一個(gè)執(zhí)行線程匹配一個(gè)OS線程。 它利用機(jī)器上的所有內(nèi)核,但上下文切換速度較慢,因?yàn)樗仨毻ㄟ^(guò)操作系統(tǒng)進(jìn)行。

Go通過(guò)使用M:N調(diào)度程序來(lái)取得上述兩種方式的最佳效果。它將任意數(shù)量的goroutine調(diào)度到任意數(shù)量的OS線程上。開(kāi)發(fā)者可以獲得快速上下文切換,并利用系統(tǒng)中的所有內(nèi)核。這種方法的主要缺點(diǎn)是增加了調(diào)度器的復(fù)雜性。

為了完成調(diào)度任務(wù),Go Scheduler使用3個(gè)主要實(shí)體,如圖1所示。

M三角形表示OS線程。這是由操作系統(tǒng)管理的執(zhí)行線程,其工作原理與標(biāo)準(zhǔn)POSIX線程相似。

G圓圈代表一個(gè)goroutine。它包括堆棧、指令指針和其他重要的調(diào)度goroutines的信息,像任何可能被阻止的channel等。

P是從N:1調(diào)度程序進(jìn)入M:N調(diào)度程序的重要部分,表示調(diào)度的上下文。可以將其視為在單個(gè)線程上運(yùn)行Go代碼的調(diào)度程序,一個(gè)局部的調(diào)度器。

如圖2所示,有2個(gè)線程(M),每個(gè)線程都有一個(gè)上下文(P),每個(gè)線程都運(yùn)行一個(gè)goroutine(G)。為了運(yùn)行g(shù)oroutines,線程必須持有一個(gè)上下文。

P的數(shù)量可以通過(guò)GOMAXPROCS()來(lái)設(shè)置,代表了真正的并發(fā)度,即有多少個(gè)goroutine可以同時(shí)運(yùn)行。可以使用它來(lái)調(diào)整Go進(jìn)程到計(jì)算機(jī)的調(diào)用,例如在4核心PC上運(yùn)行4個(gè)線程的Go代碼。

白色的goroutines沒(méi)有運(yùn)行,處于就緒狀態(tài),正在等待被調(diào)度。P維護(hù)著這個(gè)隊(duì)列。在Go語(yǔ)言里,每當(dāng)goroutine執(zhí)行g(shù)o語(yǔ)句時(shí),goroutines都會(huì)添加到隊(duì)列的末尾。一旦上下文運(yùn)行了一個(gè)goroutine直到調(diào)度點(diǎn),它會(huì)從其運(yùn)行隊(duì)列中彈出一個(gè)goroutine,設(shè)置堆棧和指令指針,并開(kāi)始運(yùn)行g(shù)oroutine。

圖3中當(dāng)一個(gè)OS線程被阻塞時(shí),P可以轉(zhuǎn)而投奔另一個(gè)系統(tǒng)線程。從圖中看到,當(dāng)一個(gè)線程M0陷入阻塞時(shí),P轉(zhuǎn)而在OS線程M1上運(yùn)行。調(diào)度器保證有足夠的線程來(lái)運(yùn)行所有P。

M1可能是被創(chuàng)建,或者從線程緩存中取出。當(dāng)syscall返回時(shí),它必須嘗試獲取一個(gè)上下文來(lái)運(yùn)行返回的goroutine,一般情況下,它會(huì)從其他的系統(tǒng)線程取得一個(gè)上下文,如果沒(méi)有獲取到,它就把goroutine放在一個(gè)全局隊(duì)列中,放入線程緩存里。上下文會(huì)周期性地檢查全局隊(duì)列,否則全局隊(duì)列上的goroutine永遠(yuǎn)無(wú)法執(zhí)行。

如果上下文的運(yùn)行隊(duì)列的工作量不平衡,如圖4所示,則可能會(huì)發(fā)生這種情況。P所分配的任務(wù)G很快就執(zhí)行完了(分配不均),這就導(dǎo)致了一個(gè)上下文P空閑而系統(tǒng)忙碌。當(dāng)一個(gè)上下文用完時(shí),它將嘗試從另一個(gè)上下文中竊取大約一半的運(yùn)行隊(duì)列。這確保在每個(gè)上下文上總是有工作要做,這反過(guò)來(lái)確保所有線程都以最大容量工作,每個(gè)系統(tǒng)線程都能充分地使用。

6 實(shí)測(cè)Go語(yǔ)言在國(guó)產(chǎn)平臺(tái)的多核調(diào)用

6.1 并行積分計(jì)算原理

并行計(jì)算積分。計(jì)算積分是一個(gè)用來(lái)展示并發(fā)編程和它本身加速度(表示的是多處理器執(zhí)行時(shí)間和單處理器執(zhí)行時(shí)間的比值)的常見(jiàn)例子,例如一個(gè)函數(shù)f(x)在[a,b]上的積分:

通過(guò)循環(huán)觸發(fā)goroutine(協(xié)程)來(lái)實(shí)現(xiàn)np個(gè)子算組的并行運(yùn)算,通過(guò)Go代碼來(lái)計(jì)算Pi的積分:

6.2 Go語(yǔ)言并行計(jì)算核心代碼實(shí)現(xiàn)

核心代碼:

上述計(jì)算中,一個(gè)計(jì)算組是通過(guò) block(start,end int,c chan float64)這個(gè)函數(shù)實(shí)現(xiàn)的,這個(gè)函數(shù)計(jì)算從start到end之間的矩形面積、通道(channl)c則是用來(lái)在結(jié)束的時(shí)候進(jìn)行同步,并且把計(jì)算組的結(jié)果送到主線程。主線程通過(guò)調(diào)用rutime.GOMAXPROCS(np)建立運(yùn)行時(shí)所使用的CPU核數(shù),np為使用CPU的個(gè)數(shù),然后通過(guò)make構(gòu)造一個(gè)有np大小緩存的通道,進(jìn)行阻塞,確保計(jì)算并行進(jìn)行。最后把執(zhí)行np次的結(jié)果進(jìn)行累加以獲得pi的結(jié)果。

6.3 Go語(yǔ)言并行計(jì)算在國(guó)產(chǎn)CPU多核調(diào)用測(cè)試

6.3.1 測(cè)試環(huán)境

飛騰平臺(tái):FT1500A16核×1;內(nèi)存16 GB;Go編譯器1.8.1;操作系統(tǒng):銀河麒麟4.0。

龍芯平臺(tái):3B1500A8核×2;內(nèi)存16 GB;Go編譯器1.8.1;操作系統(tǒng):中標(biāo)麒麟6.0。

6.3.2 測(cè)試方法

程序內(nèi)計(jì)時(shí),每次測(cè)試3次,取最短時(shí)間。結(jié)果如圖5、圖6所示。

上面兩組數(shù)據(jù)圖展示了,在龍芯3B1500處理器和飛騰FT1500A上,并行Go計(jì)算Pi的效率,對(duì)于小的問(wèn)題規(guī)模(n=105,106),使用多核不能增加的執(zhí)行時(shí)間,這是因?yàn)檫^(guò)多的進(jìn)程調(diào)度和初始化協(xié)程導(dǎo)致的,大部分時(shí)間沒(méi)有執(zhí)行并行計(jì)算。當(dāng)問(wèn)題規(guī)模n變大的時(shí)候(n=108,109,1010),使用多處理器能夠顯著地縮短計(jì)算所需的執(zhí)行時(shí)間。

6.3.3 結(jié)果對(duì)比

結(jié)果對(duì)比如圖7所示。

從圖7可以看出,與其他公開(kāi)的測(cè)試的數(shù)據(jù)基本一致,飛騰FT1500A無(wú)論單核和多核性能均比龍芯3B1500CPU計(jì)算能力快出近一倍。

6.4 Go語(yǔ)言在調(diào)用多核進(jìn)行并行計(jì)算的性能線性特性

為了能夠體現(xiàn)并發(fā)執(zhí)行的加速度,以飛騰F1500A為例子以通過(guò)式(6)計(jì)算速度:

在這里Tnp和TMaxnp是處理器當(dāng)前使用核數(shù)計(jì)算所用時(shí)間和處理器最大核數(shù)計(jì)算所用時(shí)間。結(jié)果如圖8所示。

在圖8中,當(dāng)問(wèn)題規(guī)模非常大的時(shí)候,增長(zhǎng)幾乎就是線性的了,特別是問(wèn)題規(guī)模達(dá)到(n=109)的時(shí)候,幾乎和擬合趨勢(shì)線重合。

7 結(jié)束語(yǔ)

本文對(duì)Go語(yǔ)言在多線程領(lǐng)域編程、跨異構(gòu)平臺(tái)及編程難易程度的優(yōu)勢(shì)進(jìn)行了闡述;對(duì)目前我國(guó)國(guó)產(chǎn)CPU在商業(yè)化應(yīng)用領(lǐng)域現(xiàn)狀進(jìn)行了分析。使用Go語(yǔ)言在主流兩款國(guó)產(chǎn)平臺(tái)對(duì)多核調(diào)用進(jìn)行測(cè)試。同時(shí),對(duì)Go語(yǔ)言的多核工作原理進(jìn)行了簡(jiǎn)要分析。綜上所述,Go語(yǔ)言非常適合作為除Java外的另一種國(guó)產(chǎn)CPU平臺(tái)應(yīng)用開(kāi)發(fā)語(yǔ)言,有較為廣泛的應(yīng)用前景。本文對(duì)未來(lái)Go語(yǔ)言在國(guó)產(chǎn)CPU平臺(tái)上的開(kāi)發(fā)及應(yīng)用提供了一定的參考價(jià)值。

聲明:本文內(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

    文章

    10863

    瀏覽量

    211748
  • 編程語(yǔ)言
    +關(guān)注

    關(guān)注

    10

    文章

    1945

    瀏覽量

    34735
  • go語(yǔ)言
    +關(guān)注

    關(guān)注

    1

    文章

    158

    瀏覽量

    9049

原文標(biāo)題:【學(xué)術(shù)論文】Go語(yǔ)言在國(guó)產(chǎn)CPU平臺(tái)上應(yīng)用前景的探索與思考

文章出處:【微信號(hào):ChinaAET,微信公眾號(hào):電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Rust的多線程編程概念和使用方法

    和字段、常見(jiàn)用法以及多線程的一些實(shí)踐經(jīng)驗(yàn)。由淺入深帶你零基礎(chǔ)玩轉(zhuǎn)Rust的多線程編程線程的基本概念和使用方法 Thread是Rust中并發(fā)編程
    的頭像 發(fā)表于 09-20 11:15 ?968次閱讀

    labview多線程編程

    子曰:何為labview多線程編程
    發(fā)表于 03-11 15:46

    C++ 面向?qū)ο?b class='flag-5'>多線程編程下載

    C++ 面向?qū)ο?b class='flag-5'>多線程編程下載
    發(fā)表于 04-08 02:14 ?70次下載

    C++面向?qū)ο?b class='flag-5'>多線程編程 (pdf電子版)

    C++面向?qū)ο?b class='flag-5'>多線程編程共分13章,全面講解構(gòu)建多線程架構(gòu)與增量多線程編程技術(shù)。第1章介紹了
    發(fā)表于 09-25 09:39 ?0次下載

    QNX環(huán)境下多線程編程

    介紹了QNX 實(shí)時(shí)操作系統(tǒng)和多線程編程技術(shù),包括線程間同步的方法、多線程程序的分析步驟、線程基本程序結(jié)構(gòu)以及實(shí)用編譯方法。QNX 是由加拿大
    發(fā)表于 08-12 17:37 ?30次下載

    linux多線程編程課件

    電子發(fā)燒友為您提供了linux多線程編程課件,希望對(duì)您學(xué)習(xí) linux 有所幫助。部分內(nèi)容如下: *1、多線程模型單處理器模型和多處理器系統(tǒng)上,都能改善響應(yīng)時(shí)間和吞吐量。 *2、
    發(fā)表于 07-10 11:58 ?0次下載

    linux多線程編程開(kāi)發(fā)

    本文中我們針對(duì) Linux 上多線程編程的主要特性總結(jié)出 5 條經(jīng)驗(yàn),用以改善 Linux 多線程編程的習(xí)慣和避免其中的開(kāi)發(fā)陷阱。本文中,
    發(fā)表于 12-26 14:24 ?55次下載
    linux<b class='flag-5'>多線程</b><b class='flag-5'>編程</b>開(kāi)發(fā)

    MFC下的多線程編程

    計(jì)算機(jī)上的上位機(jī)制作工具語(yǔ)言之MFC下的多線程編程
    發(fā)表于 09-01 14:55 ?0次下載

    VC-MFC多線程編程詳解

    VC編程中關(guān)于 MFC多線程編程的詳解文檔
    發(fā)表于 09-01 15:01 ?0次下載

    Windows多線程編程入門講解

    計(jì)算機(jī)上的上位機(jī)制作工具語(yǔ)言之Windows多線程編程入門講解,感興趣的可以看看。
    發(fā)表于 09-01 15:27 ?0次下載

    Windows多線程編程

    計(jì)算機(jī)上的上位機(jī)制作工具語(yǔ)言之Windows多線程編程,感興趣的可以看看。
    發(fā)表于 09-01 15:27 ?0次下載

    什么是多線程編程?多線程編程基礎(chǔ)知識(shí)

    摘要:多線程編程是現(xiàn)代軟件技術(shù)中很重要的一個(gè)環(huán)節(jié)。要弄懂多線程,這就要牽涉到多進(jìn)程。本文主要以多線程編程以及
    發(fā)表于 12-08 16:30 ?1.3w次閱讀

    多線程編程指南的PDF電子書免費(fèi)下載

    多線程編程指南》介紹了 SolarisTM 操作系統(tǒng) (Solaris Operating System, Solaris OS)中 POSIX?線程和 Solaris 線程
    發(fā)表于 06-11 08:00 ?4次下載
    <b class='flag-5'>多線程</b><b class='flag-5'>編程</b>指南的PDF電子書免費(fèi)下載

    mfc多線程編程實(shí)例

    (圖形用戶界面)應(yīng)用程序的開(kāi)發(fā)。在這篇文章中,我們將重點(diǎn)介紹MFC中的多線程編程多線程編程軟件開(kāi)發(fā)中非常重要,它可以實(shí)現(xiàn)程序的并發(fā)執(zhí)行
    的頭像 發(fā)表于 12-01 14:29 ?1507次閱讀

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

    現(xiàn)代網(wǎng)絡(luò)編程中,多線程技術(shù)被廣泛應(yīng)用于提高服務(wù)器的并發(fā)處理能力。Socket編程是網(wǎng)絡(luò)通信的基礎(chǔ),而將多線程技術(shù)應(yīng)用于Socket
    的頭像 發(fā)表于 11-12 14:16 ?358次閱讀
    主站蜘蛛池模板: 日本aaaa毛片在线看| 亚洲美女视频在线观看| 无人区理论片手机看片| 欧美爱爱网址| 天天操夜夜摸| 久视频在线观看久视频| 午夜欧美| 国产女人又爽又大| 中文字幕婷婷| 两性色午夜视频免费网| 奇米欧美| 色综合视频| 美女扒开尿口给男人捅| 欧美成人xxxx| 男人在线资源| 亚洲一级免费毛片| 丁香婷婷在线观看| 视频在线观看免费网址| 色婷婷5月| 亚洲人成网站999久久久综合| 91中文字幕视频| 伊人成伊人成综合网2222| 久久综合九色综合网站| 久久天天躁狠狠躁狠狠躁| 综合激情婷婷| 丁香婷婷亚洲六月综合色| 人人草草| 欧美一级在线免费观看| 末满18以下勿进色禁网站| 一级欧美一级日韩| 9999毛片免费看| 国产性夜夜春夜夜爽| 乱高h辣黄文np公交车| 久久的色偷偷| 在线黄视频网站| 日本黄色爽| 午夜精品福利影院| 操白虎美女| 91精品久久国产青草| 免费的色视频| 丁香婷婷色|