女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

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

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

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

Linux中的可重入、異步信號安全和線程安全

Linux愛好者 ? 來源:博客園 ? 作者:Jessica要努力了 ? 2020-11-10 14:45 ? 次閱讀

下文是在看csapp的時候引發(fā)的一些思考,其實之前看anup的時候也有所了解,不過時間有點長了,所以有點忘記了,當(dāng)再次在csapp看到這部分內(nèi)容的時候有了更多的理解。

可重入函數(shù)

當(dāng)一個被捕獲的信號被一個進(jìn)程處理時,進(jìn)程執(zhí)行的普通的指令序列會被一個信號處理器暫時地中斷。它首先執(zhí)行該信號處理程序中的指令。如果從信號處理程序返回(例如沒有調(diào)用exit或longjmp),則繼續(xù)執(zhí)行在捕獲到信號時進(jìn)程正在執(zhí)行的正常指令序列(這和當(dāng)一個硬件中斷發(fā)生時所發(fā)生的事情相似)。但是在信號處理器里,我們并不知道當(dāng)信號被捕獲時進(jìn)程正在執(zhí)行哪里的代碼。

如果進(jìn)程正使用malloc在它的堆上分配額外的內(nèi)存,而此時由于捕捉到信號而插入執(zhí)行該信號處理程序,其中又調(diào)用了malloc,這會發(fā)生什么呢?或者,如果進(jìn)程正調(diào)用一個把結(jié)果存儲在一個靜態(tài)區(qū)域里的函數(shù)到一半,比如 getpwnam,而我們在信號處理器里調(diào)用相同的函數(shù),又會發(fā)生什么呢?在malloc的例子里,進(jìn)程可能會遭到嚴(yán)重破壞,因為malloc通常維護(hù)它 所有分配過的區(qū)域的鏈表,而插入執(zhí)行信號處理程序時,進(jìn)程可能正在更改此鏈接表。

在getpwnam的例子里,返回給普通調(diào)用者的信息可能被返回給信號處理器的信息覆蓋。

SUS規(guī)定了必須保證是可以再入的函數(shù)。下表列出了這些再入函數(shù):

一個可重入的函數(shù)簡單來說就是可以被中斷的函數(shù),也就是說,可以在這個函數(shù)執(zhí)行的任何時刻中斷它,轉(zhuǎn)入OS 調(diào)度下去執(zhí)行另外一段代碼,而返回控制時不會出現(xiàn)什么錯誤。可重入(reentrant)函數(shù)可以由多于一個任務(wù)并發(fā)使用,而不必?fù)?dān)心數(shù)據(jù)錯誤。相反, 不可重入(non-reentrant)函數(shù)不能由超過一個任務(wù)所共享,除非能確保函數(shù)的互斥 (或者使用信號量,或者在代碼的關(guān)鍵部分禁用中斷)。

可重入函數(shù)可以在任意時刻被中斷, 稍后再繼續(xù)運行,不會丟失數(shù)據(jù)。可重入函數(shù)要么使用本地變量,要么在使用全局變量時 保護(hù)自己的數(shù)據(jù)。

信號安全,其實也就是異步信號安全,是說線程在信號處理函數(shù)當(dāng)中,不管以任何方式調(diào)用你的這個函數(shù)如果不死鎖不修改數(shù)據(jù),那就是信號安全的。因此,我認(rèn)為可重入與異步信號安全是一個概念 。

線程安全

線程安全:一個函數(shù)被稱為線程安全的,當(dāng)且僅當(dāng)被多個并發(fā)線程反復(fù)的調(diào)用時,它會一直產(chǎn)生正確的結(jié)果。

有一類重要的線程安全函數(shù),叫做可重入函數(shù),其特點在于它們具有一種屬性:當(dāng)它們被多個線程調(diào)用時,不會引用任何共享的數(shù)據(jù)。

盡管線程安全和可重入有時會( 不正確的 )被用做同義詞,但是它們之間還是有清晰的技術(shù)差別的。可重入函數(shù)是線程安全函數(shù)的一個真子集。

可重入與線程安全的區(qū)別及聯(lián)系

可重入函數(shù):重入即表示重復(fù)進(jìn)入,首先它意味著這個函數(shù)可以被中斷,其次意味著它除了使用自己棧上的變量以外不依賴于任何環(huán)境(包括static ),這樣的函數(shù)就是purecode (純代碼)可重入,可以允許有該函數(shù)的多個副本在運行,由于它們使用的是分離的棧,所以不會互相干擾。

可重入函數(shù)是線程安全函數(shù),但是反過來,線程安全函數(shù)未必是可重入函數(shù)。

實際上,可重入函數(shù)很少,APUE 10.6 節(jié)中描述了Single UNIX Specification 說明的可重入的函數(shù),只有115 個;APUE 12.5 節(jié)中描述了POSIX.1 中不能保證線程安全的函數(shù),只有89 個。

信號就像硬件中斷一樣,會打斷正在執(zhí)行的指令序列。信號處理函數(shù)無法判斷捕獲到信號的時候,進(jìn)程在何處運行。如果信號處理函數(shù)中的操作與打斷的函數(shù)的操作相同,而且這個操作中有靜態(tài)數(shù)據(jù)結(jié)構(gòu)等,當(dāng)信號處理函數(shù)返回的時候(當(dāng)然這里討論的是信號處理函數(shù)可以返回),恢復(fù)原先的執(zhí)行序列,可能會導(dǎo)致信號處理函數(shù)中的操作覆蓋了之前正常操作中的數(shù)據(jù)。

不可重入的幾種情況

使用靜態(tài)數(shù)據(jù)結(jié)構(gòu),比如getpwnam,getpwuid:如果信號發(fā)生時正在執(zhí)行g(shù)etpwnam,信號處理程序中執(zhí)行g(shù)etpwnam可能覆蓋原來getpwnam獲取的舊值

調(diào)用malloc或free:如果信號發(fā)生時正在malloc(修改堆上存儲空間的鏈接表),信號處理程序又調(diào)用malloc,會破壞內(nèi)核的數(shù)據(jù)結(jié)構(gòu)

使用標(biāo)準(zhǔn)IO函數(shù),因為好多標(biāo)準(zhǔn)IO的實現(xiàn)都使用全局?jǐn)?shù)據(jù)結(jié)構(gòu),比如printf(文件偏移是全局的)

函數(shù)中調(diào)用longjmp或siglongjmp:信號發(fā)生時程序正在修改一個數(shù)據(jù)結(jié)構(gòu),處理程序返回到另外一處,導(dǎo)致數(shù)據(jù)被部分更新。

即使對于可重入函數(shù),在信號處理函數(shù)中使用也需要注意一個問題就是errno 。一個線程中只有一個errno 變量,信號處理函數(shù)中使用的可重入函數(shù)也有可能 會修改errno 。例如,read 函數(shù)是可重入的,但是它也有可能會修改errno 。因此,正確的做法是在信號處理函數(shù)開始,先保存errno ;在信號處 理函數(shù)退出的時候,再恢復(fù)errno 。

例如,程序正在調(diào)用printf 輸出,但是在調(diào)用printf 時,出現(xiàn)了信號,對應(yīng)的信號處理函數(shù)也有printf 語句,就會導(dǎo)致兩個printf 的輸出混雜在一起。

如果是給printf 加鎖的話,同樣是上面的情況就會導(dǎo)致死鎖。對于這種情況,采用的方法一般是在特定的區(qū)域屏蔽一定的信號。

屏蔽信號的方法:

signal(SIGPIPE, SIG_IGN); // 忽略一些信號 sigprocmask();// sigprocmask 只為單線程定義的 pthread_sigmask(); // pthread_sigmasks 可以在多線程中使用

現(xiàn)在看來信號異步安全和可重入的限制似乎是一樣的,所以這里把它們等同看待;

線程安全:如果一個函數(shù)在同一時刻可以被多個線程安全的調(diào)用,就稱該函數(shù)是線程安全的。Malloc 函數(shù)是線程安全的。

不需要共享時,請為每個線程提供一個專用的數(shù)據(jù)副本。如果共享非常重要,則提供顯式同步,以確保程序以確定的方式操作。通過將過程包含在語句中來鎖定和解除鎖定互斥,可以使不安全過程變成線程安全過程,而且可以進(jìn)行串行化。

很多函數(shù)并不是線程安全的,因為他們返回的數(shù)據(jù)是存放在靜態(tài)的內(nèi)存緩沖區(qū)中的。通過修改接口,由調(diào)用者自行提供緩沖區(qū)就可以使這些函數(shù)變?yōu)榫€程安全的。

操作系統(tǒng)實現(xiàn)支持線程安全函數(shù)的時候,會對POSIX.1 中的一些非線程安全的函數(shù)提供一些可替換的線程安全版本。

例如,gethostbyname() 是線程不安全的,在Linux 中提供了gethostbyname_r() 的線程安全實現(xiàn)。

函數(shù)名字后面加上_r ,以表明這個版本是可重入的(對于線程可重入,也就是說是線程安全的,但并不是說對于信號處理函數(shù)也是可重入的,或者是異步信號安全的)。

多線程程序中常見的疏忽性問題:

將指針作為新線程的參數(shù)傳遞給調(diào)用方棧。

在沒有同步機制保護(hù)的情況下訪問全局內(nèi)存的共享可更改狀態(tài)。

兩個線程嘗試輪流獲取對同一對全局資源的權(quán)限時導(dǎo)致死鎖。其中一個線程控制第一種資源,另一個線程控制第二種資源。其中一個線程放棄之前,任何一個線程都無法繼續(xù)操作。

嘗試重新獲取已持有的鎖(遞歸死鎖)。

在同步保護(hù)中創(chuàng)建隱藏的間隔。如果受保護(hù)的代碼段包含的函數(shù)釋放了同步機制,而又在返回調(diào)用方之前重新獲取了該同步機制,則將在保護(hù)中出現(xiàn)此間隔。結(jié)果具有誤導(dǎo)性。對于調(diào)用方,表面上看全局?jǐn)?shù)據(jù)已受到保護(hù),而實際上未受到保護(hù)。

將UNIX 信號與線程混合時,使用sigwait(2) 模型來處理異步信號。

調(diào)用setjmp(3C) 和longjmp(3C) ,然后長時間跳躍,而不釋放互斥鎖。

從對*_cond_wait() 或 *_cond_timedwait() 的調(diào)用中返回后無法重新評估條件。

總結(jié)

判斷一個函數(shù)是不是可重入函數(shù),在于判斷其能否可以被打斷,打斷后恢復(fù)運行能夠得到正確的結(jié)果。(打斷執(zhí)行的指令序列并不改變函數(shù)的數(shù)據(jù))

判斷一個函數(shù)是不是線程安全的,在于判斷其能否在多個線程同時執(zhí)行其指令序列的時候,保證每個線程都能夠得到正確的結(jié)果。

如果一個函數(shù)對多個線程來說是可重入的,則說這個函數(shù)是線程安全的,但這并不能說明對信號處理程序來說該函數(shù)也是可重入的。

如果函數(shù)對異步信號處理程序的重入是安全的,那 么就可以說函數(shù)是” 異步-信號安全 ” 的。

可重入與線程安全是兩個獨立的概念, 都與函數(shù)處理資源的方式有關(guān)。

首先,可重入和線程安全是兩個并不等同的概念,一個函數(shù)可以是可重入的,也可以是線程安全的,可以兩者均滿足,可以兩者皆不滿足( 該描述嚴(yán)格的說存在漏洞,參見第二條) 。

其次,從集合和邏輯的角度看,可重入是線程安全的子集,可重入是線程安全的充分非必要條件。可重入的函數(shù)一定是線程安全的,然過來則不成立。

第三,POSIX 中對可重入和線程安全這兩個概念的定義:

Reentrant Function :A function whose effect, when called by two or more threads,is guaranteed to be as if the threads each executed thefunction one after another in an undefined order, even ifthe actual execution is interleaved.

Thread-Safe Function :A function that may be safely invoked concurrently by multiple threads.

Async-Signal-Safe Function :A function that may be invoked, without restriction fromsignal-catching functions. No function is async-signal -safe unless explicitly described as such

以上三者的關(guān)系為:可重入函數(shù) 必然 是 線程安全函數(shù) 和 異步信號安全函數(shù);線程安全函數(shù)不一定是可重入函數(shù)。

可重入與線程安全的區(qū)別體現(xiàn)在能否在signal 處理函數(shù)中被調(diào)用的問題上, 可重入函數(shù)在signal 處理函數(shù)中可以被安全調(diào)用,因此同時也是 Async-Signal-Safe Function ;而線程安全函數(shù)不保證可以在signal 處理函數(shù)中被安全調(diào)用,如果通過設(shè)置信號阻塞集合等方法保證一個非可重入函數(shù)不被信號中斷,那么它也是Async-Signal-Safe Function。

值得一提的是POSIX 1003.1 的 System Interface 缺省是 Thread-Safe 的,但不是Async-Signal-Safe 的。Async-Signal-Safe 的需要明確表示,比如fork () 和signal() 。

一個非可重入函數(shù)通常( 盡管不是所有情況下) 由它的外部接口和使用方法即可進(jìn)行判斷。例如:strtok() 是非可重入的,因為它在內(nèi)部存儲了被標(biāo)記分割的字符串;ctime() 函數(shù)也是非可重入的,它返回一個指向靜態(tài)數(shù)據(jù)的指針,而該靜態(tài)數(shù)據(jù)在每次調(diào)用中都被覆蓋重寫。

一個線程安全的函數(shù)通過加鎖的方式來實現(xiàn)多線程對共享數(shù)據(jù)的安全訪問。線程安全這個概念,只與函數(shù)的內(nèi)部實現(xiàn)有關(guān),而不影響函數(shù)的外部接口。在 C 語言中,局部變量是在棧上分配的。因此,任何未使用靜態(tài)數(shù)據(jù)或其他共享資源的函數(shù)都是線程安全的。

目前的 AIX 版本中,以下函數(shù)庫是線程安全的:

C 標(biāo)準(zhǔn)函數(shù)庫

與BSD 兼容的函數(shù)庫

使用全局變量( 的函數(shù)) 是非線程安全的。這樣的信息應(yīng)該以線程為單位進(jìn)行存儲,這樣對數(shù)據(jù)的訪問就可以串行化。一個線程可能會讀取由另外一個線程生成的錯誤代碼。在AIX 中,每個線程有獨立的errno 變量。

最后讓我們來構(gòu)想一個線程安全但不可重入的函數(shù):

假設(shè)函數(shù)func() 在執(zhí)行過程中需要訪問某個共享資源,因此為了實現(xiàn)線程安全,在使用該資源前加鎖,在不需要資源解鎖。

假設(shè)該函數(shù)在某次執(zhí)行過程中,在已經(jīng)獲得資源鎖之后,有異步信號發(fā)生,程序的執(zhí)行流轉(zhuǎn)交給對應(yīng)的信號處理函數(shù);再假設(shè)在該信號處理函數(shù)中也需要調(diào)用函數(shù) func() ,那么func() 在這次執(zhí)行中仍會在訪問共享資源前試圖獲得資源鎖,然而我們知道前一個func() 實例已然獲得該鎖,因此信號處理函數(shù)阻塞——另一方面,信號處理函數(shù)結(jié)束前被信號中斷的線程是無法恢復(fù)執(zhí)行的,當(dāng)然也沒有釋放資源的機會,這樣就出現(xiàn)了線程和信號處理函數(shù)之間的死鎖局面。

因此,func() 盡管通過加鎖的方式能保證線程安全,但是由于函數(shù)體對共享資源的訪問,因此是非可重入。

原文標(biāo)題:Linux 可重入、異步信號安全和線程安全

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

責(zé)任編輯:haq

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

    關(guān)注

    87

    文章

    11479

    瀏覽量

    213073
  • 信號
    +關(guān)注

    關(guān)注

    11

    文章

    2846

    瀏覽量

    78004
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4374

    瀏覽量

    64428

原文標(biāo)題:Linux 可重入、異步信號安全和線程安全

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

收藏 人收藏

    評論

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

    線程安全注意事項

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

    存儲示波器在校準(zhǔn)過程需要注意哪些安全問題

    在存儲示波器的校準(zhǔn)過程,需嚴(yán)格遵守電氣安全、設(shè)備保護(hù)及操作規(guī)范,以避免人身傷害、設(shè)備損壞或數(shù)據(jù)丟失。以下從電氣安全、設(shè)備防護(hù)、環(huán)境控制及操作流程四個維度,系統(tǒng)化梳理關(guān)鍵安全事項。
    發(fā)表于 05-28 15:37

    Linux系統(tǒng)安全防護(hù)措施

    隨著信息技術(shù)的快速發(fā)展,系統(tǒng)安全成為我們?nèi)粘I詈凸ぷ?b class='flag-5'>中不可或缺的一部分。主要包括了賬號安全控制、系統(tǒng)引導(dǎo)和登錄控制、弱口令檢測以及端口掃描等多個方面,為我們提供了一系列實用的安全措施
    的頭像 發(fā)表于 05-09 13:40 ?249次閱讀

    龍芯主板是安全可信基石,守護(hù)信息資產(chǎn)

    在網(wǎng)絡(luò)安全,信息安全至關(guān)重要。龍芯主板內(nèi)置安全啟動技術(shù),從硬件層級構(gòu)建起堅實的防護(hù)體系。同時,龍芯主板支持國產(chǎn)麒麟、UOS等操作系統(tǒng),通過全棧國產(chǎn)化適配,進(jìn)一步提升了整個系統(tǒng)的自主可
    的頭像 發(fā)表于 04-22 09:12 ?163次閱讀

    如何維護(hù)i.MX6ULL的安全內(nèi)核?

    為 5.15.158。 因此,我們想知道:是否有可能基于這個 BSP 平臺實現(xiàn)安全的 i.MX 6ULL 系統(tǒng)?您會推薦上游的 linux-fslc 還是 linux-imx (BSP) 內(nèi)核樹?顯然,
    發(fā)表于 04-01 08:28

    直流充電安全測試負(fù)載方案解析

    隨著電動汽車充電功率的快速提升和充電場景的復(fù)雜化,直流充電設(shè)備的安全性能成為行業(yè)關(guān)注的核心問題。充電樁、動力電池及車載充電系統(tǒng)在實際運行可能面臨過壓、過流、絕緣故障等多重安全風(fēng)險,因此亟需通過
    發(fā)表于 03-13 14:38

    信息安全管理必備!Linux系統(tǒng)使用SSH登錄root賬號的方法

    Linux遠(yuǎn)程管理信息安全必備!本文介紹各類Linux開發(fā)板/主板使用SSH登錄root賬號的方法,使用觸覺智能RK3562開發(fā)板演示,關(guān)注觸覺智能,持續(xù)為大家?guī)砀嗍褂眉记桑?/div>
    的頭像 發(fā)表于 02-12 15:46 ?574次閱讀
    信息<b class='flag-5'>安全</b>管理必備!<b class='flag-5'>Linux</b>系統(tǒng)使用SSH登錄root賬號的方法

    EE-303:將VisualDSP線程安全庫與第三方RTOS配合使用

    電子發(fā)燒友網(wǎng)站提供《EE-303:將VisualDSP線程安全庫與第三方RTOS配合使用.pdf》資料免費下載
    發(fā)表于 01-07 14:09 ?0次下載
    EE-303:將VisualDSP<b class='flag-5'>線程</b><b class='flag-5'>安全</b>庫與第三方RTOS配合使用

    探索字節(jié)隊列的魔法:多類型支持、函數(shù)重載與線程安全

    探索字節(jié)隊列的魔法:多類型支持、函數(shù)重載與線程安全代碼難度指數(shù):文章學(xué)習(xí)重點:參數(shù)宏的使用技巧一、引言在嵌入式系統(tǒng)和實時應(yīng)用,數(shù)據(jù)的傳輸和處理是至關(guān)重要的。字節(jié)隊列(ByteQueue)是一種重要
    的頭像 發(fā)表于 11-15 01:08 ?1204次閱讀
    探索字節(jié)隊列的魔法:多類型支持、函數(shù)重載與<b class='flag-5'>線程</b><b class='flag-5'>安全</b>

    SONiC網(wǎng)絡(luò)操作系統(tǒng)安全啟動

    NVIDIA 的技術(shù)幫助組織構(gòu)建和維護(hù)安全、擴(kuò)展和高性能的網(wǎng)絡(luò)基礎(chǔ)設(shè)施。NVIDIA 在引領(lǐng) AI 技術(shù)的前沿,每天都在推動安全方面的進(jìn)步,對保障網(wǎng)絡(luò)
    的頭像 發(fā)表于 11-13 11:45 ?796次閱讀
    SONiC網(wǎng)絡(luò)操作系統(tǒng)<b class='flag-5'>中</b>的<b class='flag-5'>安全</b>啟動

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

    是指在同一個進(jìn)程運行多個線程,每個線程可以獨立執(zhí)行任務(wù)。線程共享進(jìn)程的資源,如內(nèi)存空間和文件句柄,但每個線程有自己的程序計數(shù)器、寄存器集合
    的頭像 發(fā)表于 11-12 14:16 ?943次閱讀

    Linux在車載HPC安全方面的工作原理

    隨著汽車智能化和自動駕駛技術(shù)的飛速發(fā)展,車載高性能計算(High-Performance Computing, HPC)系統(tǒng)已成為推動汽車產(chǎn)業(yè)革新的核心力量。在此背景下,Linux作為開源操作系統(tǒng)領(lǐng)域的佼佼者,正以其高度靈活性、強大生態(tài)系統(tǒng)以及不斷發(fā)展的安全特性,在車載H
    的頭像 發(fā)表于 08-27 14:58 ?888次閱讀
    <b class='flag-5'>Linux</b>在車載HPC<b class='flag-5'>安全</b>方面的工作原理

    摩爾線程與360集團(tuán)攜手共創(chuàng)AI新篇章,戰(zhàn)略合作共筑數(shù)字安全生態(tài)

    8月2日最新資訊,摩爾線程官方公眾號今日宣布,在備受矚目的第十二屆互聯(lián)網(wǎng)安全大會現(xiàn)場,公司與互聯(lián)網(wǎng)安全領(lǐng)域的領(lǐng)軍者360集團(tuán)正式締結(jié)戰(zhàn)略合作伙伴關(guān)系,并簽署了戰(zhàn)略合作協(xié)議。此次強強聯(lián)合,標(biāo)志著雙方在數(shù)字
    的頭像 發(fā)表于 08-02 15:35 ?1017次閱讀

    FPGA異步信號處理方法

    FPGA(現(xiàn)場可編程門陣列)在處理異步信號時,需要特別關(guān)注信號的同步化、穩(wěn)定性以及潛在的亞穩(wěn)態(tài)問題。由于異步信號可能來自不同的時鐘域或外部設(shè)
    的頭像 發(fā)表于 07-17 11:10 ?1819次閱讀

    工程安全監(jiān)測的振弦采集儀技術(shù)解析與應(yīng)用

    工程安全監(jiān)測的振弦采集儀技術(shù)解析與應(yīng)用 河北穩(wěn)控科技振弦采集儀是一種在工程安全監(jiān)測中廣泛使用的儀器,用于測量和監(jiān)測結(jié)構(gòu)的振動和應(yīng)變。它通過采集結(jié)構(gòu)的振弦
    的頭像 發(fā)表于 07-11 10:19 ?569次閱讀
    工程<b class='flag-5'>安全</b>監(jiān)測<b class='flag-5'>中</b>的振弦采集儀技術(shù)解析與應(yīng)用
    主站蜘蛛池模板: 汤阴县| 都江堰市| 韩城市| 文安县| 北碚区| 荥经县| 台南县| 江津市| 大荔县| 镇原县| 太谷县| 塔城市| 铁岭市| 西峡县| 石嘴山市| 黄石市| 成安县| 延吉市| 太谷县| 靖宇县| 厦门市| 禹城市| 治县。| 巧家县| 晋宁县| 岳普湖县| 布尔津县| 淳化县| 克什克腾旗| 嘉定区| 阜阳市| 北安市| 海宁市| 普陀区| 扶风县| 嘉荫县| 正镶白旗| 保德县| 高阳县| 天祝| 兴海县|