摘要: 1.select into select into 语句把一个表中的数据插入到另一个表中。 不需要创建临时表,在运行过程中自动创建。 基本语法: select * into #table_Name from tableName #table_Name 临时表名;tableName数据源表名 2.in 阅读全文
posted @ 2019-09-09 15:34 刺激 阅读(8041) 评论(0) 推荐(0) 编辑
摘要: 任意一个线程调用了 _barrier.SignalAndWait() 方法后,会执行一个回调函数来打印出阶段。 每个线程将向 Barrier 发送两次信号,所以会有两个阶段,可以在每个迭代结束前执行一些计算。当最后一个线程调用 SignalAndWait方法时可以在迭代结束时进行交互。 输出结果: 阅读全文
posted @ 2019-09-08 23:29 刺激 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 当主程序启动时,创建一个 CountDownEvent 类的实例,在其构造函数中指定个数操作完成发出信号,当前为2个操作完成会发出信号。 一旦第二个线程完成,主线程会从等待 CountdownEvent 的状态中返回并继续执行。针对需要等到多个异步操作完成的情形,使用该方式非常便利。 如果调用 _c 阅读全文
posted @ 2019-09-06 02:15 刺激 阅读(532) 评论(0) 推荐(0) 编辑
摘要: 当主程序启动时,首先创建ManualResetEventSlim 类的一个实例。然后启动三个线程,等待事件信号通知它们继续执行。 线程只有在ManualResetEventSlim 对象发出信号才能继续执行,不然只有继续等待,直到接接收到信号。 阅读全文
posted @ 2019-09-04 23:58 刺激 阅读(469) 评论(0) 推荐(0) 编辑
摘要: 原因: 数组是引用类型,数组变量存储在栈,元素数据存储在堆中,将数组赋值不同的对象,所以的赋值对象都指向堆同一个数据,所以改变其中一个数组中的元素,别的数组元素也会改变。 解决方案: 原理就是先把数组转换成字符串再转换成对象 ,这样会新分配一块内存,就不会指向同一个堆中的数据。 例子1: var t 阅读全文
posted @ 2019-08-26 20:37 刺激 阅读(2475) 评论(0) 推荐(0) 编辑
摘要: int temp = 0; for (int i = 0; i < array.Length - 1; i++) { for (int j = array.Length - 1; j > i; j--) { if (array[j - 1] > array[j]) { temp = array[j 阅读全文
posted @ 2019-08-05 13:00 刺激 阅读(304) 评论(0) 推荐(0) 编辑