摘要: 非线程安全 引发线程安全的原因是,多个线程可以同时操作全局变量/共享变量/静态变量/磁盘文件/数据库的值就可能存在线程安全问题,因为多个线程操作,出现了覆盖。List集合也是非线程安全的。 线程安全 多线程同时运行,如果每次运行的结果和单线程运行的结果一致,那么就是线程安全的。 Lock锁 概念 解 阅读全文
posted @ 2019-06-12 16:30 唐什么来着 阅读(1175) 评论(0) 推荐(0) 编辑
摘要: 多线程异常处理 概念 多线程里面抛出的异常,会终结当前线程;但是不会影响别的线程;在工作中一般情况下,不仅需要捕获到异常信息,还可能需要 去通知其他线程,这就涉及到另外一个概念线程取消 工作中常规建议:多线程的委托里面不允许异常,包一层try-catch,然后记录下来异常信息,完成需要的操作。 模拟 阅读全文
posted @ 2019-06-12 16:17 唐什么来着 阅读(2482) 评论(0) 推荐(0) 编辑
摘要: Task 概念: Task线程是基于线程池的,提供了丰富的API Task的启动方式 第一种: Task task = new Task(() => this.DoSomethingLong("btnTask_Click_1")); task.Start(); 第二种: Task task = Ta 阅读全文
posted @ 2019-06-09 01:53 唐什么来着 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 概念 线程池诞生的原因: Thread 过于强大,无法管控线程数量。 如果某个对象创建和销毁代价比较高,同时这个对象还可以反复使用的,就需要一个池子 保存多个这样的对象,需要用的时候从池子里面获取;用完之后不用销毁,放回池子;(享元模式) 节约资源提升性能;此外,还能管控总数量,防止滥用; 线程池启 阅读全文
posted @ 2019-06-08 21:38 唐什么来着 阅读(310) 评论(0) 推荐(0) 编辑
摘要: Theread 概念 C#对线程对象的一个封装(密封类)类库 Thread实例化及调用 第一种: 只是简单的把需要线程执行的方法传递到Thread Thread thread = new Thread(testMethod);//实例化Thread thread.Start();//开启线程,执行方 阅读全文
posted @ 2019-06-07 01:53 唐什么来着 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 进程 计算机概念,程序在服务器运行时占据全部计算机资源总和,虚拟的。包含CPU、内存、网络、硬盘 MSDN: 当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。 而一个进程又是由多个线程所组成的。 线程 计算机概念,进程在响应操作时最小单位,也包含CPU、内存 阅读全文
posted @ 2019-06-05 23:16 唐什么来着 阅读(1026) 评论(0) 推荐(0) 编辑
摘要: WebAPI的由来: 在早期的时候,我们用来传输数据的接口是 .NetRemoting:平台要求,到后来的Webservice(跨平台、SOAP协议,数据以xml的格式体现)、WCF(也支持Restful风格,但是它 并不是为Restful服务,相对于而言,会显得比较重量级)以上接口,在开发工作中, 阅读全文
posted @ 2019-06-03 20:41 唐什么来着 阅读(405) 评论(0) 推荐(0) 编辑
摘要: 在Enumerable类,针对IEnumerable数据,指的是内存数据 Linq 其实就是把对数据操作的通用部分完成,把可变的交给委托,使用者只用关心可变部分,其实Linq就是这么一个封装,但确实很好用. 我们通过反编译就能能清晰的看出 WHERE Where:把对数据过滤的通用操作完成,把可变的 阅读全文
posted @ 2019-05-30 16:34 唐什么来着 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 需求: 需要读取远程主机信息,实时获取服务信息(检测所有远程服务器是否有报错,如果有报错,发送错误具体信息到指定邮件) //构建IP实体类 构建日志实体类 //获取服务器信息 发送邮件功能类 Config配置 安装卸载程序(.bat文件) Install %SystemRoot%\Microsoft 阅读全文
posted @ 2019-05-29 20:06 唐什么来着 阅读(1379) 评论(0) 推荐(0) 编辑
摘要: 如有错误或不足之处,还望多多赐教,万分感谢。 扩展方法概念 MSDN 说:扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。这里的“添加”之所以使用引号,是因为并没有真正地向指定类型添加方法 扩展方法调用,很像实例方法,就像扩展了类的逻辑 1适用场景: 阅读全文
posted @ 2019-05-29 19:21 唐什么来着 阅读(526) 评论(0) 推荐(0) 编辑