自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Windows 8.1 之異步編程

開發(fā)
使用 Windows 8.1 Preview 中新的計(jì)劃程序 API,你可以設(shè)置任務(wù)的優(yōu)先級(jí)并管理作業(yè)。這樣有助于你以更高效方式編寫使用系統(tǒng)資源的應(yīng)用并為用戶提供響應(yīng)更快的體驗(yàn)。

使用 Windows 8.1 Preview 中新的計(jì)劃程序 API,你可以設(shè)置任務(wù)的優(yōu)先級(jí)并管理作業(yè)。這樣有助于你以更高效方式編寫使用系統(tǒng)資源的應(yīng)用并為用戶提供響應(yīng)更快的體驗(yàn)。

編寫響應(yīng)性極高的應(yīng)用很有挑戰(zhàn)性。 你可以組合使用多種復(fù)雜的 UI 元素,包括 ListView 控件、SemanticZoom 控件和自定義控件,這些元素均會(huì)競(jìng)爭(zhēng)系統(tǒng)資源。 很多元素既需要—動(dòng)畫—等即時(shí)的前臺(tái)工作,也需要其他后臺(tái)工作。

對(duì)于 Windows 8 和 Windows Library for JavaScript 1.0,并沒有單一的集成式計(jì)劃程序。有時(shí)低優(yōu)先級(jí)的后臺(tái)任務(wù)可能會(huì)先于前臺(tái)工作占用到資源,致使應(yīng)用的行為出現(xiàn)響應(yīng)不良或遲鈍。 由于工作是在不同的隊(duì)列中計(jì)劃的,因此若要在不同隊(duì)列之間進(jìn)行協(xié)調(diào)來獲得所需的優(yōu)先級(jí),并沒有比較容易的方法。

Windows 8.1 Preview 和 Windows Library for JavaScript 2.0 Preview 引入了 Scheduler,這是一個(gè)對(duì)象/命名空間,它可以將所有工作隊(duì)列合并成單一的通用隊(duì)列。該新隊(duì)列采用基于優(yōu)先級(jí)的計(jì)劃策略,該策略可支持應(yīng)用快速、流暢地運(yùn)行,并幫助實(shí)現(xiàn)更統(tǒng)一的開發(fā)者體驗(yàn)。 你可以輕松地計(jì)劃任務(wù),分配優(yōu)先級(jí),從而達(dá)到在適當(dāng)時(shí)間完成適當(dāng)工作的目的。

Scheduler 可協(xié)調(diào) Windows Library for JavaScript 執(zhí)行的工作,并劃分 Windows Runtime 執(zhí)行的異步工作的優(yōu)先級(jí)。使用計(jì)劃程序,可讓你的應(yīng)用在系統(tǒng)中使用與所有其他工作相對(duì)的正確優(yōu)先級(jí)按計(jì)劃工作。

計(jì)劃作業(yè)

若要計(jì)劃工作,你需要使用 schedule 方法創(chuàng)建一個(gè)作業(yè)。向此方法傳遞一個(gè)函數(shù),用于執(zhí)行你想要完成的任務(wù)。你還可以為作業(yè)指定優(yōu)先級(jí)。schedule 方法返回一個(gè)實(shí)現(xiàn) IJob 接口的對(duì)象,你可以使用此對(duì)象對(duì)所計(jì)劃的作業(yè)執(zhí)行暫停、繼續(xù)和取消操作。

此處是在普通優(yōu)先級(jí)計(jì)劃兩個(gè)簡(jiǎn)單作業(yè)的示例。

  1. // Schedule some work. 
  2. var job1 = S.schedule(function () { 
  3.     window.output("Running job1"); 
  4. }, S.Priority.normal); 
  5. window.output("Scheduled job1"); 
  6.  
  7. // Schedule more work. 
  8. var job2 = S.schedule(function () { 
  9.     window.output("Running job2"); 
  10. }, S.Priority.normal); 
  11. window.output("Scheduled job2"); 

若要了解完整代碼,請(qǐng)參閱計(jì)劃程序示例。

如需額外控制,你的工作函數(shù)還可以接受 IJobInfo 對(duì)象。你可以使用此對(duì)象來確定作業(yè)是否應(yīng)生成控制,計(jì)劃在當(dāng)前作業(yè)完成后應(yīng)運(yùn)行的第二個(gè)應(yīng)用,以及指定在作業(yè)生成控制的情況下應(yīng)運(yùn)行的函數(shù)。

管理作業(yè)

前一部分提到了你可以使用 schedule 返回的 IJob 對(duì)象來暫停、取消及繼續(xù)作業(yè)。你還可以使用 Scheduler 對(duì)象的 createOwnerToken 方法來獲取 IOwnerToken,然后使用它來控制其擁有的任何 IJob 對(duì)象。

此示例創(chuàng)建了若干 IOwnerToken 對(duì)象,然后使用它們來設(shè)置若干 IJob 對(duì)象的 owner 屬性。然后示例使用 IOwnerToken 來同時(shí)取消多個(gè)作業(yè)。

  1. var ownerObject1 = S.createOwnerToken(); 
  2. var ownerObject2 = S.createOwnerToken(); 
  3. var ownerObject3 = S.createOwnerToken(); 
  4.  
  5. // Schedule some work. 
  6. var job1 = S.schedule(function () { 
  7.     window.output("Running job1 with owner1"); 
  8. }, S.Priority.normal); 
  9. job1.owner = ownerObject1; 
  10. window.output("Scheduled job1 with owner1"); 
  11.  
  12. // Schedule some work. 
  13. var job2 = S.schedule(function () { 
  14.     window.output("Running job2 with owner2"); 
  15. }, S.Priority.normal); 
  16. job2.owner = ownerObject2; 
  17. window.output("Scheduled job2 with owner2"); 
  18.  
  19. // Schedule some work. 
  20. var job3 = S.schedule(function () { 
  21.     window.output("Running job3 with owner1"); 
  22. }, S.Priority.normal); 
  23. job3.owner = ownerObject1; 
  24. window.output("Scheduled job3 with owner1"); 
  25.  
  26. // Schedule some work. 
  27. var job4 = S.schedule(function () { 
  28.     window.output("Running job4 with owner3"); 
  29. }, S.Priority.normal); 
  30. job4.owner = ownerObject3; 
  31. window.output("Scheduled job4 with owner3"); 
  32.  
  33. window.output("Canceling jobs with owner1"); 
  34. ownerObject1.cancelAll(); 

原文鏈接:http://msdn.microsoft.com/zh-cn/library/windows/apps/bg182877.aspx

責(zé)任編輯:陳四芳 來源: microsoft.com
相關(guān)推薦

2013-08-28 15:26:35

Windows8.1工具

2013-09-03 14:59:47

Windows網(wǎng)絡(luò)

2013-08-28 14:59:17

Windows8.1文件訪問

2013-08-05 17:25:40

windows

2015-01-06 10:00:00

Windows 10

2013-04-01 15:38:54

異步編程異步編程模型

2014-03-18 17:45:01

Windows 8.1

2013-10-16 10:09:12

Windows 8.1

2013-08-28 16:08:19

多媒體Windows8.1

2013-12-04 10:51:02

Windows 8.1Windows 8

2013-10-21 10:07:30

微軟Windows 8.1理由

2013-04-01 14:15:03

Windows Blu

2013-09-03 13:42:34

Windows銀行

2014-07-11 10:23:54

2013-06-21 10:45:41

Windows 8.1

2013-10-28 13:26:41

Windows 8.1破解

2013-06-17 09:38:34

Windows 8.1

2012-10-29 10:59:27

Windows 8

2013-04-01 15:25:41

異步編程異步EMP

2020-10-15 13:29:57

javascript
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)