classprogram
public
static
async
task go()
;try
catch
(exception)}}
public
static
class
tasklogger
public
static taskloglevel loglevel
private
static
readonly concurrentdictionarys_log = new concurrentdictionary();
public
static ienumerablegetlogentries()
public
sealed
class
tasklogentry
public
string tag
public datetime logtime
public
string callermembername
public
string callerfilepath
public
int callerlinenumber
public
override
string
tostring()
,tag=,member=,file=()
", logtime, tag ?? "
(none)
", callermembername, callerfilepath, callerlinenumber);}}
public
static tasklog(this tasktask, string tag = null, [callermembername] string callermembername = null
, [callerfilepath]
string callerfilepath = null, [callerlinenumber] int callerlinenumber = -1
)
public
static task log(this task task, string tag = null, [callermembername] string callermembername = null
, [callerfilepath]
string callerfilepath = null, [callerlinenumber] int callerlinenumber = -1
) ;
s_log[task] =logentry;
task.continuewith(t => , taskcontinuationoptions.executesynchronously);
return
task;
}private
struct void //
因為沒有非泛型的taskcompletionsource類
public
static
async task withcancellation(this
task originaltask, cancellationtoken token)
//等待原始任務(以同步方式):若任務失敗,等待它將丟擲第乙個內部異常 而不是丟擲aggregateexception
await
originaltask;
}}
classprogram
public
static
void
go()
}catch}}
private
static
async
void
showexceptions()
}public
sealed
class eventawaiter: inotifycompletion
//告訴狀態機是否發生了任何事件
public
bool iscompleted }
//狀態機告訴我們以後要呼叫什麼方法 把它儲存起來
public
void
oncompleted(action continuation)
//狀態機查詢結果 這是await操作符的結果
public
teventargs getresult()
//如果都引發了事件,多個執行緒可能同時呼叫
public
void eventraised(object
sender, teventargs eventargs)
}
架構 擴充套件性
擴充套件選和伸縮性 擴充套件性 指對現有系統影響最小的情況下,系統功能可持續擴充套件或提公升的能力。表現在系統基礎設施穩定不需要經常變更,應用之間較少依賴和耦合,對需求變更可以敏捷響應。它是系統架構設計層面的開閉原則 對擴充套件開放,對修改關閉 架構設計考慮未來功能擴充套件,當系統增加新功能時,不需...
CSS可擴充套件性
今日在寫pc官網的時候,一直對於html css的結構編寫完全按照自己的思維方式,今天把 交給老大的時候,被他指出很多編寫 的錯誤性,比如 結構,標籤的使用,語義化,css的可擴充套件性,由於 主要還是需要做seo優化,所以在標籤使用上也有些不合理之處,給了我一些建議,自己記錄以下 1 在html標...
NoSql的易擴充套件性
nosql現在很火很時髦,大家言必稱nosql,彷彿關係型資料庫已成陳舊落後的代名詞。但依我看,真正理解nosql的還不多,在實際專案中用過的應該就更少了。我也還不理解,更沒怎麼應用過,所以現在要努力學習。在學習過程中,常看到有吹噓nosql相比較關係型資料庫而言,有乙個優點是 易擴充套件。這怎麼理...