執行緒以及緩衝區

2021-09-01 22:53:32 字數 1366 閱讀 6574

[size=medium]1.執行緒

我們把正在計算機中執行的程式叫做"程序"。所謂"執行緒",是"程序"中某個單一順序的控制流。在單個程式中同時執行多個執行緒完成不同的工作,稱為多執行緒。通俗的說法,之前編的程式如果乙個指令沒進行完,則不能進行下乙個指令,或者不能關閉視窗。利用多執行緒,可以完成多個指令的同時執行。

需要繼承thread[/size]

public class hua extends thread

//執行的方法

public void run()

//畫小孩的方法

public void draw(graphics g2)

if((100+80+j>60+j+j)&&(60+j+j>100+40+j))

g2.drawline(80+j, 540, 100+j+j-120, 560);//腿1

if(100+80+j<60+j+j)

g2.drawline(80+j, 540, 220, 560);//腿1

/************腿2****************/

if(100>=60+j)

g2.drawline(80+j, 540,100, 560);

if((100<60+j)&&(60+j+j-40<100+j))

g2.drawline(80+j,540,60+j+j-40,560);//腿2

if((60+j+j-40<=140+j)&&(60+j+j-40>=100+j))

if(60+j+j-40>140+j)

try catch (interruptedexception e1)

}}

[size=medium]在呼叫hua的頁面中例項化hua類,並開始執行[/size]

hua hua=new hua(this,gg);

hua.start();

[size=medium]可多個同時執行

2.緩衝區

在製作動畫的時候發現背景總是閃,因為 先用背景色覆蓋整個元件,然後再呼叫paint(graphics g)函式,重新繪製圖形。這樣,我們每次看到的都是乙個在新的位置繪製的圖形,前面的圖形都被背景色覆蓋掉了。這就像一幀一幀的畫面勻速地切換,以此來實現動畫的效果。 但是,正是這種先用背景色覆蓋元件再重繪圖像的方式導致了閃爍。如果先把背景和影象畫好,再畫在介面上,效果會好些。

新元件:bufferedimage[/size]

while(true)

hua.draw(g);

//畫好之後顯示緩衝圖上的

gg.drawimage(buffer, 0, 0, null);

}

輸入緩衝區與輸出緩衝區

本博文通過一段程式來理解輸入緩衝區與輸出緩衝區。程式如下 author wanghao created time thu 17 may 2018 06 03 12 ampdt file name test.c description include int main int argc,const c...

getchar scanf以及緩衝區的概念

1 getchar 是stdio.h中的庫函式,它的作用是從stdin流中讀入乙個字元,也就是說,如果stdin有資料的話不用輸入它就可以直接讀取了。getch 和getche 是conio.h中的庫函式,它的作用是從鍵盤接收字元,getchar帶有回顯。與前面兩個函式的區別在於 getchar 函...

使用者程序緩衝區和核心緩衝區

常常聽到有程式設計師會跟你討論 我們在讀寫檔案的時候,系統是有快取的 但實際上有一部分人把使用者程序緩衝區和系統空間的緩衝區的概念混淆了,包括這兩種緩衝區的用法和所要解決的問題,還有其它類似的概念。本文就來區分一下不同的緩衝區概念 主要針對類unix平台 使用者程序和作業系統的關係 首先我用一張圖來...