我们经常会遇到一些函数多个地方调用,但是只能单独执行的就需要把它放到队列中执行。
1.创建对应该方法的委托(传参和回参类型需要一致)。
//委托:
public delegate void CameraTaskDelegate(byte cs, ref byte[] buffer);//对应函数:
public void CameraSettingRead(byte cs, ref byte[] resultbuf)
{ //...
}
2.创建队列
// 定义一个队列来存储待执行的动作static Queue<Tuple<CameraTaskDelegate, byte, byte[]>> actionQueue = new Queue<Tuple<CameraTaskDelegate, byte, byte[]>>();
3.加入队列的方法
//加入队列的函数
static void EnqueueAction(Queue<Tuple<CameraTaskDelegate, byte, byte[]>> queue, CameraTaskD