線程(英語:Thread)是操作系統(tǒng)能夠進(jìn)行運(yùn)算調(diào)度的最小單位。它被包含在進(jìn)程之中,是進(jìn)程中的實(shí)際運(yùn)作單位。一條線程指的是進(jìn)程中一個單一順序的控制流,一個進(jìn)程中可以并發(fā)多個線程,每條線程并行執(zhí)行不同的任務(wù)。在Unix System V及SunOS中也被稱為輕量進(jìn)程(Lightweight Processes),但輕量進(jìn)程更多指內(nèi)核線程(Kernel Thread),而把用戶線程(User Thread)稱為線程。
噗。。為啥不是面試題了,封面船去哪里了?要開好船,先回到我們的初心---Linux,這篇文章是Linux的超級基礎(chǔ)且經(jīng)常用到的內(nèi)容,不多說,直接肝!
為什么我們代碼將浮點(diǎn)數(shù)、整數(shù)進(jìn)行強(qiáng)制轉(zhuǎn)換,或打印輸出時會出精度損失,或出錯的情況? 想要搞明白這個問題,就需要了解一下整數(shù)、浮點(diǎn)數(shù)的存儲規(guī)則。
你是否也聽過類似的話語?我聽說過無數(shù)次,有些是面對面的交談,而有些來自某個論壇。雖然答案無非是“取決于具體情況”,但以我的拙見,學(xué)習(xí)C編程是非常寶貴的經(jīng)驗(yàn)。我想通過這篇短文向你展示C偉大的一面。
通過本文你將會了解到以下內(nèi)容:IO事件和IO復(fù)用、線程模型和事件驅(qū)動模型的架構(gòu)、基于事件驅(qū)動的Reactor模式詳解、同步IO和異步IO簡介。
最近沒有什么產(chǎn)出,嚇得ZhengN翻箱倒柜倒出一些小東西來發(fā)。下面分享一個ZhengN大二時候的一個小玩具,軟硬件都分享給大家,有需要的小伙伴,文末獲取。這個小作品設(shè)計(jì)到了強(qiáng)電,不建議沒經(jīng)驗(yàn)的小伙伴上手,了解了解即可。
筆者參考了市面上各種各樣的嵌入式書籍,如MCS-51、AVR、ARM等都有看過,但沒發(fā)現(xiàn)有哪本是介紹設(shè)計(jì)思想的,就算有也是鳳毛麟角。寫程序不難,但如何寫得好、寫得快,那是需要點(diǎn)經(jīng)驗(yàn)積累的。所以在下出來獻(xiàn)丑一下,總結(jié)了一些東西。就我個人的經(jīng)驗(yàn)而談,有2個設(shè)計(jì)思想是非常重要的。
今天想和大家分享的內(nèi)容是和我們手機(jī)上APP相關(guān)的,它們都是用什么編程語言寫的呢?
無論在哪個系統(tǒng)中,刪除文件都是必須謹(jǐn)慎的操作。因?yàn)槿绻恍⌒膭h除了重要文件,就會導(dǎo)致個人或公司出現(xiàn)重大的損失。類似于windows系統(tǒng)誤刪了文件,可以使用一些軟件進(jìn)行恢復(fù)操作。Linux也是有幾款軟件可以做到誤刪恢復(fù)的。
C語言中,未初始化的局部變量到底是多少?
innodb事務(wù)日志包括redo log和undo log。redo log是重做日志,提供前滾操作,undo log是回滾日志,提供回滾操作。undo log不是redo log的逆向過程,其實(shí)它們都算是用來恢復(fù)的日志。
現(xiàn)在使用NIO的場景越來越多,很多網(wǎng)上的技術(shù)框架或多或少的使用NIO技術(shù),譬如Tomcat,Jetty。學(xué)習(xí)和掌握NIO技術(shù)已經(jīng)不是一個JAVA攻城獅的加分技能,而是一個必備技能。
后臺服務(wù)可以劃分為兩類,有狀態(tài)和無狀態(tài)。高可用對于無狀態(tài)的應(yīng)用來說是比較簡單的,無狀態(tài)的應(yīng)用,只需要通過F5或者任何代理的方式就可以很好的解決。后文描述的主要是針對有狀態(tài)的服務(wù)進(jìn)行分析。服務(wù)端進(jìn)行狀態(tài)維護(hù)主要是通過磁盤或內(nèi)存進(jìn)行保存,比如MySQL數(shù)據(jù)庫,redis等內(nèi)存數(shù)據(jù)庫。除了這兩種類型的維護(hù)方式,還有jvm的內(nèi)存的狀態(tài)維持,但jvm的狀態(tài)生命周期通常很短。
最近有個網(wǎng)友問了我一個問題:系統(tǒng)中大事務(wù)問題要如何處理?正好前段時間我在公司處理過這個問題,我們當(dāng)時由于項(xiàng)目初期時間比較緊張,為了快速完成業(yè)務(wù)功能,忽略了系統(tǒng)部分性能問題。項(xiàng)目順利上線后,專門抽了一個迭代的時間去解決大事務(wù)問題,目前已經(jīng)優(yōu)化完成,并且順利上線?,F(xiàn)給大家總結(jié)了一下,我們當(dāng)時使用的一些解決辦法,以便大家被相同問題困擾時,可以參考一下。
何為全局異常的自適應(yīng)呢?
Linux內(nèi)核對網(wǎng)絡(luò)包的接收過程大致可以分為接收到RingBuffer、硬中斷處理、ksoftirqd軟中斷處理幾個過程。其中在ksoftirqd軟中斷處理中,把數(shù)據(jù)包從RingBuffer中摘下來,送到協(xié)議棧的處理,再之后送到用戶進(jìn)程socket的接收隊(duì)列中。
BMP文件的結(jié)構(gòu)其實(shí)非常簡單,就是兩個結(jié)構(gòu)體+一個可選的調(diào)色板+位圖數(shù)據(jù)。
市面上針對Cortex-M處理器的下載器,有很多是基于CMSIS-DAP演變而來,比如:e-Link、GD-Link等。 之前給大家分享過自制ST-Link的教程,今天繼續(xù)為大家分享一篇:基于STM32F103C8,自制CMSIS-DAP下載器。
2007年,以2年的工作經(jīng)驗(yàn)去一家小公司去面試。當(dāng)時筆試完,對方對我很認(rèn)可。但當(dāng)時他說:“我需要招一個,在大公司待過的,最好知道硬件開發(fā)流程和規(guī)范的。雖然你題答得不錯,但是我們需要一個有豐富經(jīng)驗(yàn)的,最好在華為待過的。”當(dāng)時,我就在想“華為的規(guī)范和流程是啥樣的”。后來我去了華為,我把能想到的華為硬件開發(fā)的幾個不一樣的點(diǎn),跟大家分享一下。
樹是數(shù)據(jù)結(jié)構(gòu)中的重中之重,尤其以各類二叉樹為學(xué)習(xí)的難點(diǎn)。在面試環(huán)節(jié)中,二叉樹也是必考的模塊。本文主要講二叉樹操作的相關(guān)知識,梳理面試??嫉膬?nèi)容。請大家跟隨小編一起來復(fù)習(xí)吧。