摘要:
通常讲的是针对方法或者函数,在函数执行过程中不会造成资源冲突就是线程安全的多个线程来调用也没事情,线程不安全就会造成数据错误或者崩溃啊啥的。线程安全: 在多线程中使用时,不用自已做同步处理.线程不安全: 在多线程中使用时, 必须做线程同步,不然会有未知后果.什么是线程安全? 如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。 或者说:一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导致该接口的执行结果存在二义性,也就是说我们不用考虑同步的问题 阅读全文
摘要:
一、预备知识―程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)― 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) ― 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)―,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后有系统释放 4、文字常量区 ―常量字符串就是放在 阅读全文
摘要:
intint -> System.Int32 (整型,占 4 字节,表示 32 位整数,范围 -2,147,483,648 到 2,147,483,647)1.string 和 stringbuilder的区别string a="1"; //这一句是在内存中分配了一个空间,或者更专业的说法,是在堆中... 阅读全文
摘要:
数据库中查找、删除重复的行2010-07-01 17:35查找所有重复标题的记录:SELECT *FROM t_info aWHERE ((SELECT COUNT(*)FROM t_infoWHERE Title = a.Title) > 1)ORDER BY Title DESC一。查找重复记录1。查找全部重复记录Select * From 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1)2。过滤重复记录(只显示一条)Select * From HZT Where ID In (Select 阅读全文
摘要:
C#几种常用的排序算法:1 冒泡排序法1冒泡排序法#region冒泡排序法2publicvoidSort(int[]list)3{4longbegintime=System.DateTime.Now.Second*1000+System.DateTime.Now.Millisecond;5WriteLine(begintime);6intj,temp;7j=1;8while((j<list.Length))9{10for(inti=0;i<list.Length-j;i++)11{12if(list[i]<list[i+1])13{14temp=list[i];15list[ 阅读全文