Time of Update: 2017-12-06
標籤:span his 主線程 nta 迴圈 catch string 建議 線程 建議87:區分WPF和WinForm的執行緒模式WPF和WinForm表單應用程式都有一個要求,那
Time of Update: 2017-12-06
標籤:set color and 通過 簡單的 布爾類型 類圖 cli 控制代碼 建議72:線上程同步中使用訊號量所謂線程同步,就是多個線程在某個對象上執行等待(也可理解為鎖定該對象
Time of Update: 2017-12-06
標籤:time cpu private write 理解 特點 就是 作業系統 空間 建議75:警惕線程不會立即啟動現代的大多數作業系統都不是一個即時的作業系統,Windows系統也
Time of Update: 2017-12-04
標籤:local table amd 壓縮版 arw 找不到 變數 工程 uil 第一步:安裝Golang的SDKhttp://golang.org,下載最新的安裝包,之後雙擊安裝即可。安裝完成
Time of Update: 2017-12-06
標籤:不能 正是 靜態變數 佔用 線程 引用 使用 變數 col 建議53:必要時應將不再使用的對象引用賦值為null在CLR託管的應用程式中,存在一個“根”的概念,類型的靜態欄位、
Time of Update: 2017-12-07
標籤:mod method except 標識符 初始化 stream 存在 type one 建議106:為靜態類添加靜態建構函式靜態類可以擁有構造方法,這就是靜態構造方法。靜態構
Time of Update: 2017-12-07
標籤:rgs lin 避免 ons 類型 style ring 高品質 div 建議99:重寫時不應使用子類參數重寫時,如果使用了子類參數,可能會偏離設計者的預期目標。比如,存在一個
Time of Update: 2017-12-03
標籤:pre was comment ble 修改 main start alc type
Time of Update: 2017-12-06
標籤:需要 [] enqueue main 相對 cep ons 遇到 啟動 建議86:Parallel中的異常處理建議85闡述了如何處理Task中的異常。由於Task的Start方
Time of Update: 2017-12-15
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。這是 [Golang 系列教程](/subject/2)中的第 10 篇。switch 是一個條件陳述式,用於將運算式的值與可能匹配的選項列表進行比較,並根據匹配情況執行相應的代碼塊。它可以被認為是替代多個 `if else` 子句的常用方式。看代碼比文字更容易理解。讓我們從一個簡單的例子開始,它將把一個手指的編號作為輸入,然後輸出該手指對應的名字。比如 0 是拇指,1 是食指等等。```gopackage mainimport
Time of Update: 2017-12-07
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。前言在講述系統調用發生的協程調度之前,讓我們看看go是如何進入系統調用的,理解了這個讓我們不會對後面所說的一些東西感到很陌生。golang對作業系統的系統調用作了封裝,提供了syscall這樣的庫讓我們執行系統調用。例如,Read系統調用實現如下:func Read(fd int, p []byte) (n int, err error) { n, err = read(fd, p) if raceenabled {
Time of Update: 2017-12-07
這是一個建立於
Time of Update: 2017-12-07
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
Time of Update: 2017-12-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。眾所周知,[帶緩衝的 IO 標準庫](https://golang.org/pkg/bufio/) 一直是 Go 中最佳化讀寫操作的利器。對於寫操作來說,在被發送到 `socket` 或硬碟之前,`IO 緩衝區`
Time of Update: 2017-12-06
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。我們觀察到從檔案讀取到go對象,需要兩次拷貝:從檔案拷貝到記憶體,成為[]byte從[]byte,按照格式進行讀取,拷貝到go對象上怎麼樣最佳化這個讀取速度呢?利用mmap,把檔案直接映射到記憶體,go允許把這片記憶體已經轉化成[]byte來使用直接在這個[]byte上“展開”go對象所謂”展開“就是一個reinterpret cast,對一個指標的類型重新解讀。var bytes = []byte{16, 0, 0, 0, 0,
Time of Update: 2017-12-05
這是一個建立於
Time of Update: 2017-12-05
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 Go語言列印呼叫堆疊這兩天看Go的代碼,呃,協程太多,無數個攜程調用了一個方法,徹底看不清了,所以就想到是不是可以把呼叫堆疊列印出來。查了一下,發現Go的 runtime/debug 庫可以把呼叫堆疊打出來。下面看個例子:package mainimport ( "fmt" "runtime/debug")func test1() {
Time of Update: 2017-12-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。golang是一門簡明,強勁,安全的程式設計語言。我喜歡他支援指標同時提供了各種安全機制減低燒腦度。比如:func getIntegerAddress() *int{ a:=10 return
Time of Update: 2017-12-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Go 語言也有自己的命名與程式碼群組織規則。漂亮的代碼,布局清晰、易讀易懂,就像是設計嚴謹的 API 一樣。拿到代碼,使用者首先看到和接觸的就是布局、命名還有包的結構。這篇文章不是為了給大家設立硬性的規定,而是用實踐引導大家形成自己的規則。因為具體問題要具體分析,通過自己的判斷才能挑選出最恰當的規則。## 包所有的 Go 代碼都是以包的形式組織起來的。Go 中的包就是目錄或檔案夾裡麵包括一個或者多個以 `.go`
Time of Update: 2017-12-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 這篇文章簡單的介紹下golang time