描述引數
示例注意
暫停執行指定的秒數。
hang
與halt
命令具有相同的最小縮寫(h
)。掛起的區別在於它所需的掛起時間引數。
注意掛起時減去$h
的差別
hang:pc hangarg
h:pc hangarg
其中 hangarg是
hangtime,...
hang
將執行例程掛起指定的時間段。如果有多個引數,則caché會按照顯示的順序在每個引數的持續時間內暫停執行。hang
時間是使用系統時鐘計算的,這決定了它的精度。
hang
與halt
命令具有相同的最小縮寫(h)。掛起的區別在於它所需的掛起時間引數。
可選的後置條件表示式。如果後置條件表示式為true(計算結果為非零數值),則caché執行hang
命令。如果後置條件表示式為假(計算結果為零),則caché不執行該命令。
等待的時間量,以秒為單位。該時間可以表示為任何數字表示式。可以將掛起時間指定為整數以指定整數秒,或指定為小數以指定小數秒。可以使用冪(**)、算術表示式和其他數值運算子。
可以將掛起時間設定為0(零),在這種情況下不執行掛起。將掛起時間設定為負數或非數字值與將其設定為0相同。
可以將多個掛起時間引數指定為逗號分隔的列表,如下所述。
以下示例將程序暫停10秒:
/// d ##class(pha.test.command).testhang()
classmethod testhang()
(pha.test.command)
.testhang()
21:01:
2121:01
:31下面的示例將程序掛起1/2秒。與$horolog
不同,如果指定了$ztime
函式的精度引數,則$ztimestamp
可以返回小數秒。
/// d ##class(pha.test.command).testhang()
classmethod testhang()
(pha.test.command)
.testhang()
21:02:
3921:02
:4013:
02:40.4213:
02:40.92
可以將掛起時間指定為逗號分隔的數字表示式列表。caché按照顯示的順序在每個引數的持續時間內暫停執行。負數被視為零。因此,掛起時間為16,-15將掛起16秒。
單獨執行每個掛起時間引數可能會影響在掛起計算中使用當前時間的操作,如下例所示:
/// d ##class(pha.test.command).testhangmuti()
classmethod testhangmuti()
(pha.test.command)
.testhangmuti()
4.999999
elapsed hang =
4.999958
在此示例中,掛起首先暫停執行4秒,然後在掛起前的當前時間加上5秒,減去解析第二個掛起引數的當前時間,暫停執行。因為掛起輪流執行每個引數,所以本例中的總掛起時間(大約)為5秒,而不是預期的(大約)9秒。
/// d ##class(pha.test.command).testhangmuti1()
classmethod testhangmuti1()
(pha.test.command)
.testhangmuti1()
elapsed hang =
10.001667
可以在使用者讀取輸出訊息時使用hang來暫停例程。但是,可以使用定時read命令更有效地處理此類暫停。定時read允許使用者在準備就緒時繼續,但hang不允許,因為它設定為固定持續時間。
第十二章 Cach 設計模式 狀態模式
具體狀態類思考 當乙個物件的內在狀態改變時,允許改變其行為,這個物件看起來像是改變了其類。狀態模式主要解決當控制乙個物件狀態轉換的條件表示式過於複雜時的情況。把狀態的判斷邏輯轉移到表示不同狀態的一系列類當中。可以把複雜的判斷邏輯簡單化。程式設計師每個小時 12,13,17,21,是否下班 描述不同的...
第十二章 檔案
文字檔案 文字檔案是一種由若干字元構成的檔案,可以用文字編輯器進行閱讀或編輯。以txt py html等為字尾的檔案都是文字檔案。2.二進位制檔案 二進位制檔案一般是指不能用文字編輯器閱讀或編輯的檔案。以 mp4 png等為字尾的檔案都是二進位制檔案,如果想要開啟或修改這些檔案,必須通過特定軟體進行...
第十二章 dp
動態規劃策略 將原始問題拆分為多個子問題,將子問題結果記錄,方便復用子問題的解 遞迴 記憶化 遞推 是動態規劃的一體兩面,本質都是一樣的 遞推減少了呼叫次數,空間上還能優化,一般選擇遞推方式 遞迴 記憶化 int memo maxn 將o 2 n o n intfibonacci int n 遞推 ...