閒置循環

概述

Visual Basic語言具有事件驅動的特點,即某事件發生時才執行相應的程式。如果程式在運行中,沒有任何事件發生,則應用程式處於“閒置”(Idle)狀態。另一方面,當Visaul Basic正在執行某一過程(即“忙碌”狀態)時,將停止對其他事件的處理(如不再接受滑鼠、鍵盤事件),直至這一過程處理完畢。
為了改變這種執行順序,VB提供了閒置循環(Idle Loop)和Doevents語句。所謂閒置循環,就是當應用程式處於閒置狀態時,用一個循環來執行其他操作。當執行閒置循環時將占用全部CPU時間,不允許執行其他事件過程,使系統處於無限循環中,沒有任何反應。為此,VB提供了一個DoEvents語句,使得當執行閒置循環時,可以通過該語句把控制權交給周圍環境使用,然後回到原程式繼續執行。

功能

第一種

一般來說,閒置循環是為了防止程式運行過快。每個人的計算機各不相同,計算速度各異,如果不對速度加以限制,比如cs(不知道你玩過沒),那豈不是一些人跑得飛快,一些人寸步難行?而閒置循環可以使得你當前程式運行,渲染等等好以後,等待一段時間,使得所有機器同步。一般來說閒置循環都是配合計時器使用的。
大意就是,由於各個機器運算速度不同,閒置循環使快的機器執行完一個進程之後什麼都不做,等慢的機器。這在一些需要同步的程式里尤為重要。

第二種

當程式在處理耗時較長的循環時,會出現“假死”的情況――該程式不能接受任何事件,windows提示程式無回響。這時,可以利用閒置循環語句釋放控制權,防止其壟斷控制權,使程式表現出仍在回響的狀態,使其可以接受其它控制項的事件,防止假死。

缺點

值得注意的是,vb中的閒置循環會降低程式的運行速度。

相關詞條

熱門詞條

聯絡我們