原创 c# BeginInvoke和Invoke引發異常 參數計數不匹配

要注意BeginInvoke 和 Invoke 的第二個參數是可變參數。如果異步回調有一個參數的方法,傳遞null參數時要注意 可變參數的默認值是null 如果 BeginInvoke(delegate,null) 這樣傳遞參數,

原创 c# 線程定時器 System.Threading.Timer

System.Threading.Timer 是由線程池調用的。 所有的Timer對象只使用了一個線程來管理。這個線程知道下一個Timer對象在什麼時候到期。下一個Timer對象到期時,線程就會喚醒,在內部調用ThreadPool

原创 c# string作爲參數傳遞時 是值拷貝還是引用拷貝

引用類型,在進行參數傳遞時都是傳遞引用的。 值類型, 在進行參數傳遞時都是值拷貝傳遞的。 字符串是引用類型沒錯。但是它是一塊固定內存,每次修改都會進行拷貝處理。 由於這個比較特殊,不免引發疑問,作爲參數傳遞時。string 會不會

原创 c# Task 之任務取消

CLR via 一書中這樣寫到 創建一個 Task 時,可以將一個 CancellationToken 傳遞給Task的構造器,從而將這個Cancellation 和該 Task 關聯起來。如果 CacellationToken

原创 Unity Socket網絡處理

先聲明用於網絡練接的Socket,以及用於接收網絡數據的緩存區 //用於網絡連接的Socket private Socket _socket; //緩衝區大小 private const int buffSize = 1024*1

原创 SVN 配置文件

anon-access:表示未提供口令(用戶名密碼)的操作權限,可以填值 “write” 表示既可以讀 也可以寫 “read” 表示只能讀 “none” 表示無權限。 auth-access:表示提供口令(用戶名密碼)的操作權限,

原创 Unity 協程,停止 以及 yield return 的用法

1.開啓協程 第一個 public Coroutine StartCoroutine(IEnumerator routine); 第二個 public Coroutine StartCoroutine(string methodN

原创 Unity 旋轉函數 RotateAroundLocal、RotateAround 與 Rotate

Unity的三個旋轉函數都位於Transform中 RotateAroundLocal,RotateAround 這兩個函數都過時了,用Rotate 可以完全代替這兩個函數。這一些老舊項目依然可以看到他們。 RotateAroun

原创 redis 事務

事務是一個單獨隔離操作:事務中的所有命令都會被序列化、按順序的執行。事務在執行的過程中,不會被其他客戶端發送來的命令請求打斷。。 事務是一個原子操作: 事務中的命令要麼全部被執行,要麼 全部都不執行。 EXEC 命令負責觸發並執行

原创 rabbit ConfirmSelect引發的血案

我在發包時使用 Confirm 模式處理消息確認, 在發消息時使用了鎖,在處理接收到的消息時使用了同一把鎖,導致了死鎖的產生。 產生死鎖的原因 ConfirmSelect 會等待消費者的收包事件處理完成,注意是處理完成而非收到消費

原创 C# 讀取XML配置幫助類

每次寫個小程序都要爲程序寫個讀取配置類,今天整理了一個通用讀取XML配置類。終於不用在配置上浪費時間了。 利用反射把讀取到的XML內容裝載到實例中,支持 基本數據類型,結構體,一維數組。不支持列表,字典等複雜的集合。 使用 Loa

原创 vs studio 類文件的默認格式

vs 默認格式文件是 Class.cs 默認安裝情況下的路徑: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ItemTempl

原创 c# Rabbit 消息確認機制

如何保證消息一定被消費者接收? 如果,發送成功 + 接收成功 那麼就能保證消息一定被消費者接收。 有些時候,我們希望消息被及時處理(客戶端及時響應),那麼應該再加上消息超時機制。當消息處理超時時提示玩家服務器繁忙(這種情況應該很少

原创 c# rabbitMQ 基本應用

鏈接rabbit連接rabbit聲明交換機/刪除交換機聲明消息隊列/刪除消息隊列綁定隊列/交換機發送消息接收消息事件 連接rabbit 需要使用到RabbitMQ.Client.dll 下載地址:https://www.rabbi

原创 AMQP 基本概念

AMQP: Advanced Message Queuing Protocol,一個提供統一消息服務的應用層標準高級消息協議,是應用層協議的一個開放標準,爲面向消息的中間件設計。基於此協議的客戶端與消息中間件可傳遞消息,並不受客戶