多執行緒的易用性

2021-06-20 06:55:58 字數 2180 閱讀 3929

先看乙個非多執行緒的例子, **執行時不能進行其它操作(譬如拖動窗體):

procedure

mymethod;

var  i: integer;

begin

fori := 0

to 500000 do

begin

form1.canvas.lock;

form1.canvas.textout(

10,

10, inttostr(i));

form1.canvas.unlock;

end;end

;procedure

tform1.button1click(sender: tobject);

begin

mymethod;

end;

修改為多執行緒(只修改一行**):

procedure

mymethod;

var  i: integer;

begin

fori := 0

to 500000 do

begin

form1.canvas.lock;

form1.canvas.textout(

10,

10, inttostr(i));

form1.canvas.unlock;

end;end

;procedure

tform1.button1click(sender: tobject);

begin

tthread.createanonymousthread(mymethod).start; //!!!

end;

**分析:

1、tthread 現在增加了許多 class 方法(直接通過類名呼叫的方法), tthread.createanonymousthread() 就是比較有用的乙個.

3、但 createanonymousthread 建立執行緒後是掛起的, 需要手動執行它; 後面的 start 方法就是用來喚醒執行緒的.

4、(以前)喚醒執行緒還可以使用 resume 方法或 suspended 屬性(suspended := false;); 但它們即將被廢棄了, 現在應使用 start 來啟動執行緒.

createanonymousthread 的引數型別 tproc 是匿名方法(reference), 所以**可以簡寫為:

procedure

tform1.button1click(sender: tobject);

begin

tthread.createanonymousthread( //直接寫入方法體

procedure

var      i: integer;

begin

for i := 0

to 500000 do

begin

canvas.lock;

canvas.textout(

10,

10, inttostr(i));

canvas.unlock;

end;

end //此處無分號

).start;

end;

延時執行:

var  mythread: tthread;

procedure

tform1.formcreate(sender: tobject);

begin

mythread := tthread.createanonymousthread(

procedure

var      i: integer;

begin

for i := 0

to 500000 do

begin

canvas.lock;

canvas.textout(

10,

10, inttostr(i));

canvas.unlock;

end;

end  );

end;

procedure

tform1.button1click(sender: tobject);

begin

mythread.start;

end;

易用性測試

易用性 useability 是互動的適應性 功能性和有效性的集中體現。人體工程學 ergonomics 是一門將日常使用的東西設計為易於使用和實用性強的學科。在 2003 年頒布的 gb t16260 2003 iso 9126 2001 軟體工程 產品質量 質量模型中,提出易用性包含易理解性 易...

生活中軟體易用性的例子 軟體易用性

在 gb t 29836 2013 系統與軟體易用性 中,將軟體易用性又細分為易理解性 易學性 易操作性以及吸引性四個子特性,並且為每個子特性都定義了若干個評估指標和評估方法。國標中的文字較為晦澀,不容易理解。另外國標中是以易用性的評估和度量為主要目的,而我認為首先學會如何分析和設計應該更重要一些。...

章11 易用性測試

章11 易用性測試 易用性 useability 是互動的適應性 功能性和有效性的集中體現。人體工程學 ergonomics 是一門將日常使用的東西設計為易於使用和實用性強的學科。人體工程學的主要目標是達到易用性。1 使用者介面測試 用於與軟體互動的方式稱為使用者介面或ui。2 優秀ui的構成 軟體...