將您的計算機變成一個多任務(wù)的動力室。
你是否有過這種感覺,你的主機運行速度沒有預(yù)期的那么快?我也曾經(jīng)有過這種感覺,直到我發(fā)現(xiàn)了 GNU Parallel。
GNU Parallel 是一個 shell 工具,可以并行執(zhí)行任務(wù)。它可以解析多種輸入,讓你可以同時在多份數(shù)據(jù)上運行腳本或命令。你終于可以使用全部的 CPU 了!
如果你用過 xargs,上手 Parallel 幾乎沒有難度。如果沒有用過,這篇教程會告訴你如何使用linux命令,同時給出一些其它的用例。
GNU Parallel 很可能沒有預(yù)裝在你的 Linux 或 BSD 主機上,你可以從軟件源中安裝。以 Fedora 為例:
$ sudo dnf install parallel
對于 NetBSD:
# pkg_add parallel
如果各種方式都不成功,請參考項目主頁。
正如其名稱所示,Parallel 的強大之處是以并行方式執(zhí)行任務(wù);而我們中不少人平時仍然以串行方式運行任務(wù)。
命令(command)模式:將“請求”封裝成對象,以便使用請求、隊列或日志來參數(shù)化其它對象。它的任務(wù)就是當(dāng)pending隊列不為空的時候,循環(huán)將pending隊列里面的頭部的reference移除出來,如果這個對象是個cleaner實例,那么就直接執(zhí)行它的clean方法來執(zhí)行清理工作。首先將所有的url壓入并發(fā)隊列, 然后執(zhí)行并發(fā)過程, 等待所有請求接收完之后進(jìn)行數(shù)據(jù)的解析等后續(xù)處理. 在實際的處理過程中, 受網(wǎng)絡(luò)傳輸?shù)挠绊? 部分url的內(nèi)容會優(yōu)先于其他url返回, 但是經(jīng)典curl并發(fā)必須等待最慢的那個url返回之后才開始處理, 等待也就意味著cpu的空閑和浪費. 如果url隊列很短, 這種空閑和浪費還處在可接受的范圍, 但如果隊列很長, 這種等待和浪費將變得不可接受.。
假設(shè)你有一個圖片目錄,你希望將目錄中的圖片從 JEEG 格式轉(zhuǎn)換為 PNG 格式。有多種方法可以完成這個任務(wù)。可以手動用 GIMP 打開每個圖片,輸出成新格式,但這基本是最差的選擇,費時費力。
上述方法有一個漂亮且簡潔的變種,即基于 shell 的方案:
$ convert 001.jpeg 001.png
$ convert 002.jpeg 002.png
$ convert 003.jpeg 003.png
... 略 ...
vc 鼠標(biāo)拖動圖像 閃爍剛剛接觸vc,請高手指點:我用ximage類讀取圖像后,鼠標(biāo)拖動時,用invalidate()時閃爍,之后用invalidaterect()重新畫圖像,雖然不閃了,但是拖動時會畫下拖動的痕跡。也能做到類似的效果嗎3.3 animate image讓多和圖像動起來3.4 trans slide show具轉(zhuǎn)場效果的投影片秀3.5 trans slide show可設(shè)超鏈接與圖說的投影片秀小技巧在[slide description]欄位中可用哪些html語法小技巧如何在[side description]欄位中應(yīng)用css語法小技巧如何讓圖層可以像表格一樣采用相對的對齊方式3.6 swap trans image有轉(zhuǎn)場效果的調(diào)換圖像3.6.1 objsswap translmage鼠標(biāo)對換圖3.6.2 swap trans image鼠標(biāo)對換圖像小技巧修改[swap trans image]行為時應(yīng)該注意的事項3.7 advance random image高級隨機圖像3.7.1 random image隨機出現(xiàn)圖像3.7.2 random slideshow隨機出現(xiàn)圖像的投影片秀第4章 菜單篇4.1 dreamweaver mx 2004內(nèi)置的顯示彈出式菜單4.1.1 單層彈出式菜單4.1.2 多層彈出式菜單4.2 list-o-rama彈出式菜單4.2.1 list-o-rama菜單4.2.2 配合顯示彈出式菜單行為小技巧如何移除[list-o-rama]菜單對象小技巧網(wǎng)頁打開時。3、鼠標(biāo)單擊圖像調(diào)節(jié)界面中“畫面翻轉(zhuǎn)” 前的“復(fù)選框” 按鈕, 即選中/取消復(fù)選框,且鼠標(biāo)左鍵單擊“確定” 按鈕,則可完成對翻轉(zhuǎn)畫面的調(diào)整。