11 2017 档案
摘要:我们都知道在一个表中当需要2列以上才能确定记录的唯一性的时候,就需要用到联合主键,当建立联合主键以后,在查询数据的时候性能就会有很大的提升,不过并不是对联合主键的任何列单独查询的时候性能都会提升,但我们依然可以通过对联合主键中的首列除外的其他列建立非聚集索引来提高性能。本文将对联合主键、聚集索引、非
阅读全文
摘要:阅读目录 一、使用异常筛选器捕获所有异常 二、HttpResponseException自定义异常信息 三、返回HttpError 四、总结 阅读目录 一、使用异常筛选器捕获所有异常 二、HttpResponseException自定义异常信息 三、返回HttpError 四、总结 正文 前言:上篇
阅读全文
摘要:前言:最近,讨论到数据库安全的问题,于是就引出了WebApi服务没有加任何验证的问题。也就是说,任何人只要知道了接口的url,都能够模拟http请求去访问我们的服务接口,从而去增删改查数据库,这后果想想都恐怖。经过一番折腾,总算是加上了接口的身份认证,在此记录下,也给需要做身份认证的园友们提供参考。
阅读全文
摘要:阅读目录 一、get请求 1、基础类型参数 2、实体作为参数 3、数组作为参数 4、“怪异”的get请求 二、post请求 1、基础类型参数 2、实体作为参数 3、数组作为参数 4、后台发送请求参数的传递 三、put请求 1、基础类型参数 2、实体作为参数 3、数组作为参数 四、delete请求 五
阅读全文
摘要:群集共享卷,简单理解就是一个针对Hyper-V优化的一个分布式访问文件系统,群集中的节点可以同时写到一个磁盘,并且是受控访问,以避免写数据的冲突。此功能和Vmware 的VMFS是类似的。此功能从Windows Server 2008开始提供,在此之前,用户在故障转移群集中创建虚拟机,一般使用的方法
阅读全文
摘要:在上一篇文章中,我们介绍了SQL Server数据文件的页面类型,系统通过96个字节的头部信息和系统表从逻辑层面上将表的存储结构管理起来,具体到表的存储结构上,SQL Server引入对象、分区、堆或B树、分配单元等概念。 下图显示了表的存储组织,每张表有一个对应的对象ID,并且包含一个或多个分区,
阅读全文
摘要:SQL Server AlwaysOn架构及原理 杜飞 SQL Server2012所支持的AlwaysOn技术集中了故障转移群集、数据库镜像和日志传送三者的优点,但又不相同。故障转移群集的单位是SQL实例,数据库镜像和日志传送的单位是单个用户数据库,而AlwaysOn支持的单位是可用性组,每个组中
阅读全文
摘要:第一种(懒汉,线程不安全): 1 public class Singleton { 2 private static Singleton instance; 3 private Singleton (){} 4 public static Singleton getInstance() { 5 if
阅读全文
摘要:JObject 遍历: 引用命名空间:using Newtonsoft.Json.Linq; [csharp] view plain copy JObject _jObject = JObject.Parse("{'ID':'001','Mark':'Hello Word'}"); StringBu
阅读全文
摘要:上一篇已经讲了Rabbitmq如何在Windows平台安装,不懂请移步:RabbitMQ学习系列一:windows下安装RabbitMQ服务 一、理论: .net环境下,C#代码调用RabbitMQ消息队列,本文用easynetq开源的.net Rabbitmq api来实现。 EasyNetQ 是
阅读全文
摘要:上一篇已经讲了Rabbitmq如何在Windows平台安装 不懂请移步: RabbitMQ学习系列二:.net 环境下 C#代码使用 RabbitMQ 消息队列 一、理论 .net环境下,C#代码订阅RabbitMQ消息队列,本文用easynetq开源的.net Rabbitmq api来实现,Ea
阅读全文
摘要:Rabbit MQ 是建立在强大的Erlang OTP平台上,因此安装Rabbit MQ的前提是安装Erlang。 第一步下载erlang:http://www.erlang.org/download.html 第二步下载rabbitmq:http://www.rabbitmq.com/downlo
阅读全文
摘要:LINUX下SYN攻防战如下 (一)SYN攻击原理 SYN攻击属于DOS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费服务器CPU和内存资源。SYN攻击聊了能影响主机外,还可以危害路由器,防火墙等网络系统,事实上SYN攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施.
阅读全文
摘要:微软和红帽声明将在红帽企业版Linux运行的.NET纳入官方支持。经两家公司透露,“红帽企业级Linux将成为Linux下的.NET Core主要参考操作系统”。 来自红帽资深开发者Harry Mower谈到,.Net的开源让开发者“兼顾操作系统和运行时的好处”新的可能性变为了现实。尤其是linux
阅读全文
摘要:1、建立TAR包(打包)命令格式:tar cvf TAR包文件名.tar 所备份的文件或目录功能描述:tar cvf命令用于把指定的目录或文件打包到指定的文件中。“c”指定建立(或压缩)TAR包,“v”设置命令执行时有更多的提示信息,“f”指定TAR包的文件名。c:create;v:verbose;
阅读全文
摘要:本文Linux使用的是CentOS 7 1、软件下载 CentOS:https://www.centos.org/download/ mono-4.2.1.36.tar.bz2 http://download.mono-project.com/sources/mono/mono-4.2.1.36.t
阅读全文
摘要:Win7 Nginx启动失败 cmd命令失败 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0
阅读全文
摘要:快速目录: 一、nginx Win下实现简单的负载均衡(1)nginx搭建部署 二、nginx Win下实现简单的负载均衡(2)站点共享Session 三、nginx Win下实现简单的负载均衡(3)Session的SqlServer模式配置 多站点共享Session有很多方法,多站点共享Sessi
阅读全文
摘要:快速目录: 一、nginx Win下实现简单的负载均衡(1)nginx搭建部署 二、nginx Win下实现简单的负载均衡(2)站点共享Session 三、nginx Win下实现简单的负载均衡(3)Session的SqlServer模式配置 nginx Windows下 实现简单的负载均衡,本文只
阅读全文
摘要:阅读目录: 上月在公司内部的一次分享,现把PPT及部分交流内容整理成博客。 介绍 topshelf是创建windows服务的一种方式,相比原生实现ServiceBase、Install.Installer更为简单方便, 我们只需要几行代码即可实现windows服务的开发。topshelf本身支持wi
阅读全文
摘要:使用Topshelf创建Windows服务 2015-07-02 01:21 by jiangys, ... 阅读, ... 评论, 收藏, 编辑 概述 Topshelf是创建Windows服务的另一种方法,老外的一篇文章Create a .NET Windows Service in 5 step
阅读全文
摘要:使用Topshelf管理Windows服务 一、官方网站及源码下载 1、官方网站:http://topshelf-project.com/ 2、源码下载:https://github.com/Topshelf/Topshelf/downloads 二、Topshelf优势 1、调试方便:不用创建wi
阅读全文
摘要:Topshelf 和 Katana:统一的 Web 和服务体系结构 Wes McClure 下载代码示例 使用 IIS 托管 ASP.NET Web 应用程序已成为业界标准十年有余。构建此类应用程序的过程相对简单,但部署它们则并不容易。部署此类应用程序需要掌握应用程序配置层次结构的精妙知识、IIS
阅读全文
摘要:我们都知道ORM全称叫做Object Relationship Mapper,也就是可以用object来map我们的db,而且市面上的orm框架有很多,其中有一个框架 叫做dapper,而且被称为the king of ORM。 一:为什么选择Dapper 1. 性能优越: 其实在各大网站上,我们大
阅读全文
摘要:一.什么是Git? Git是分布式版本控制系统。它与SVN的主要区别:SVN在本地没有版本,不能脱机工作;Git是分布式控制系统,在自己的本地都有一个版本,可以脱机工作。 二.在window上安装Git 先判断自己的电脑系统点击进入:https://git-scm.com/download/win
阅读全文
摘要:redis官方推荐使用的客户端程序 打星星表示推荐使用的客户端程序,一个笑脸表示最近6个月内有过正式活动的。http://redis.io/clients/#c 从这里我们可以判断官方推荐我们使用ServiceSatck.Redis与StackExchange.Redis,首先要注意的是在Servi
阅读全文
摘要:我们先看看config 默认情况下系统是怎么配置的。在命令行中输入 config get *(如图) 默认情况下有61配置信息,每一个命令占两行,第一行为配置名称信息,第二行为配置的具体信息。 我们就从上到下来理解一下这些配置信息中的某些配置: 1.dbfilename是本地持久化存储数据库文件名,
阅读全文
摘要:上一章我们已经知道了如果启动redis服务器,现在我们来学习一下,以及如何用客户端连接服务器。接下来我们来学习一下查看操作服务器的命令。 服务器命令: 1.info——当前redis服务器信息 server:一般redis服务器信息,包含以下域: redis_version:redis服务器版本号
阅读全文
摘要:在接下来的一段时间里面我要将自己学习的redis整理一遍,下面是我整理的一些资料: Redis是一款依据BSD开源协议发行的高性能Key-Value存储系统(cache and store),所以redis是可以查看源代码https://github.com/MSOpenTech/redis/tre
阅读全文
摘要:首先我们配置一台master服务器,两台slave服务器。master服务器配置就是默认配置 端口为6379,添加就一个密码CeshiPassword,然后启动master服务器。 两台slave服务器配置如下: 1.先找到配置redis.windows-service.config文件修改port
阅读全文
摘要:Eclipse软件是JAVA开发必备的软件,对于英语不好的人而言面对英文代码还好,但是软件也是英语的那就头疼了,怎么解决?可以去官网下载中文语言包解压到Eclipse安装目录就可以汉化了。 Eclipse软件是JAVA开发必备的软件,对于英语不好的人而言面对英文代码还好,但是软件也是英语的那就头疼了
阅读全文
摘要:Java Web开发Tomcat中三种部署项目的方法,开始java web开发必不可少的步骤,经过查找,觉得有篇文章介绍的不错第一种方法:在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加: <Context path="/hello"docBase="D:\ec
阅读全文
摘要:1、检查系统版本号 lsb_release -a 2、检查32位或64位系统 file /bin/ls
阅读全文
摘要:1、中文语言包安装 命令行执行: yum install fonts-chineseyum install fonts-ISO8859-2 2、切换成中文语言 菜单-》System->Administration->Language 注销系统,在登录界面,左下角,选择语言,然后登录系统即可 3、下载
阅读全文
摘要:本文目录 一、Servlet概述 二、Servlet接口 三、GenericServlet 四、HttpServlet 五、Servlet细节 六、ServletContext 回到顶部 一、Servlet概述 1. 什么是Servlet Servlet是JavaWeb的三大组件之一,它属于动态资源
阅读全文
摘要:一、常见软件系统体系结构B/S、C/S 1. C/S C/S结构即客户端/服务器(Client/Server),例如QQ; 需要编写服务器端程序,以及客户端程序,例如我们安装的就是QQ的客户端程序; 缺点:软件更新时需要同时更新客户端和服务器端两端,比较麻烦; 优点:安全性比较好。 2. B/S B
阅读全文
摘要:一、Tomcat下载与安装: 1、直接到官网下载Tomcat安装程序包:http://tomcat.apache.org/ 2、下载下来后是个压缩包,如:apache-tomcat-7.0.40.zip,解压到一个非中文目录下即可完成安装。 3、tomcat目录结构: 二、Tomcat启动:默认已经
阅读全文
摘要:存盘 Ctrl+s(肯定知道) 注释代码 Ctrl+/ 取消注释 Ctrl+(Eclipse3已经都合并到Ctrl+/了) 代码辅助 Alt+/ 快速修复 Ctrl+1 代码格式化 Ctrl+Shift+f 整理导入 Ctrl+Shift+o 切换窗口 Ctrl+f6 <可改为ctrl+tab方便>
阅读全文
摘要:1.控制台程序的建立 File->New->Application Client Project,勾选上Create a default Main class 找到Main.java,修改为如下内容: 2.生成Jar文件 找到项目,右键->Export->App Client JAR file 3.
阅读全文
摘要:在css3之前,要实现圆角的效果可以通过图片或者用margin属性实现(可以参考这里:http://www.hicss.net/css-practise-of-image-round-box/)。实现过程很繁琐,但CSS3的到来简化了实现圆角的方式。 CSS3实现圆角需要使用border-radiu
阅读全文
摘要:研究了下redis在.net下的使用,因为以前在java上用redis用的是jedis操作,在.net不是很熟悉,在网站上也看了一部分的.net下redis的使用,大部分都是ServiceStack.Redis听说ServiceStack.Redis4.0版本都是收费的,这个我不是很清楚,但是我确实
阅读全文
摘要:StackExchange.Redis 访问封装类 最近需要在C#中使用Redis,在Redis的官网找到了ServiceStack.Redis,最后在测试的时候发现这是个坑,4.0已上已经收费,后面只好找到3系列的最终版本,最后测试发现还是有BUG或者是我不会用。没有办法,最好找到了StackEx
阅读全文
摘要:Redis是一个key-value存储系统。和Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持lists(链表)、sets(集合)和zsets(有序集合)几种数据类型。这些数据类型都支持push/pop、add/remove
阅读全文
摘要:一、这里主要说明2种异步写入文件的方法: 1)异步编程模型API转为Task——使用Task.Factory.FromAsync方法 2)对于StreamWriter使用WriteAsync方法 请记得对stream对象使用FileOptions.Asynchronous选项! 首先来看一下准备函数
阅读全文
摘要:一、Task的机制 Task位于命名空间System.Threading.Tasks中,是.NET 4.0加入的新模块,其实现机制大致类似于线程池ThreadPool,不过对于ThreadPool来说Task的优势是很明显的: ThreadPool的实现机制:(一对多) 1、应用程序拥有一个用于存放
阅读全文
摘要:昨天有一个任务,就是要下载相关文件,然后保存在相关路径下,这个没什么难度,所以就略过不谈,主要谈谈定时下载,即每天某个固定时间执行下载,这个功能我是用C#代码来操作windows自带的任务计划来实现的,所以我简单的写了一个任务计划操作类,以下是代码主体部分,基本上可实现我需要的功能,当然,因为时间仓
阅读全文
摘要:C# Task 的用法 其实Task跟线程池ThreadPool的功能类似,不过写起来更为简单,直观。代码更简洁了,使用Task来进行操作。可以跟线程一样可以轻松的对执行的方法进行控制。 顺便提一下,配合CancellationTokenSource类更为可以轻松的对Task操作的代码进行中途终止运
阅读全文
摘要:上一篇讲到了.Net4.5新增的async和await关键字,其实async和await算是一组标记,真正实现异步操作的是Task新开的任务线程。 什么是Task Task是.Net4.0新增用来处理异步编程的,叫做基于“任务编程模型”,任务其实是架构在线程之上的,具体操作的时候还是由线程去执行的,
阅读全文
摘要:简介 使用线程的主要原因:应用程序中一些操作需要消耗一定的时间,比如对文件、数据库、网络的访问等等,而我们不希望用户一直等待到操作结束,而是在此同时可以进行一些其他的操作。 这就可以使用线程来实现。 本文主要介绍关于Thread和ThreadPool的基础知识。 Thread类 基本用法 使用Thr
阅读全文
摘要:简介 在C#中实现多线程的另一个方式是使用Parallel类。 在.NET4中 ,另一个新增的抽象线程是Parallel类 。这个类定义了并行的for和foreach的 静态方法。在为 for和 foreach定 义的语言中,循环从一个线程中运行 。Parallel类使用多个任务,因此使用多个线程来
阅读全文
摘要:一直觉得自己对并发了解不够深入,特别是看了《代码整洁之道》觉得自己有必要好好学学并发编程,因为性能也是衡量代码整洁的一大标准。而且在《失控》这本书中也多次提到并发,不管是计算机还是生物都并发处理着各种事物。人真是奇怪,当你关注一个事情的时候,你会发现周围的事物中就常出现那个事情。所以好奇心驱使下学习
阅读全文
摘要:5天玩转C#并行和多线程编程 —— 第一天 认识Parallel C# 原文: http://anneke.cn/ArticleInfo/Detial/23 目录 5天玩转C#并行和多线程编程 —— 第一天 认识Parallel 5天玩转C#并行和多线程编程 —— 第二天 并行集合和PLinq 5天
阅读全文
摘要:一、Parallel类 Parallel类提供了数据和任务的并行性; 二、Paraller.For() Paraller.For()方法类似于C#的for循环语句,也是多次执行一个任务。使用Paraller.For()方法,可以并行运行迭代,迭代的顺序没有定义。 在For()方法中,前两个参数是固定
阅读全文
摘要:先引入一下线程池的概念: 百度百科:线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程
阅读全文
摘要:线程池启动了,但是没有方法去控制线程池,如果子线程出现了问题,难道线程池就死了吗? 我们可以设置线程池的线程数量,进行加入任务,线程池会自动分配并且合理的执行,但是控制不了又有啥意思呢。 线程池里线程的执行不影响主线程的运行的。 线程池中有一个东西叫做 信号灯 下面是一个例子: public cla
阅读全文
摘要:一、使用线程的理由 1、可以使用线程将代码同其他代码隔离,提高应用程序的可靠性。 2、可以使用线程来简化编码。 3、可以使用线程来实现并发执行。 二、基本知识 1、进程与线程:进程作为操作系统执行程序的基本单位,拥有应用程序的资源,进程包含线程,进程的资源被线程共享,线程不拥有资源。 2、前台线程和
阅读全文
摘要:多线程、方便扩展的Windows服务程序框架 吴剑 2012-06-02 转载请注明出处:http://www.cnblogs.com/wu-jian/ 前言 在项目应用中经常会碰到定时调度的工作,比如我曾经开发一个日访问量超过1000W的网站,如果这1000W访问都从数据库读取数据显示给用户,我的
阅读全文
摘要:大家好,本次讨论的是C#中的并行开发,给力吧,随着并行的概念深入,哥也赶上这个潮流了,其实之前讨论C#的异步调用或者C#中BeginInvoke或者Invoke都已经涉及了部分本篇的内容。 参考书目:Professional.C#.4.0.and.NET.4.pdf 以及 Pro .NET 4 Pa
阅读全文
摘要:菜鸟学习并行编程,参考《C#并行编程高级教程.PDF》,如有错误,欢迎指正。 网址:https://www.cnblogs.com/woxpp/p/3928788.html 目录 C#并行编程-相关概念 C#并行编程-Parallel C#并行编程-Task C#并行编程-并发集合 C#并行编程-线
阅读全文
摘要:在上篇最后一个例子之后,我们发现了怎么去使用线程池,调用ThreadPool的QueueUserWorkItem方法来发起一次异步的、计算限制的操作,例子很简单,不是吗? 然而,在今天这篇博客中,我们要知道的是,QueueUserWorkItem这个技术存在许多限制。其中最大的问题是没有一个内建的机
阅读全文
摘要:public partial class Form1 : Form { CountdownEvent hander = new CountdownEvent(10); public static object lock_action = new object(); public Form1() {
阅读全文
摘要:C# 线程知识--使用Task执行异步操作 在C#4.0之前需要执行一个复杂的异步操作时,只能使用CLR线程池技术来执行一个任务。线程池执行异步任务时,不知道任务何时完成,以及任务的在任务完成后不能获取到返回值。但是在C#4.0中引人了一个的任务(System.Threading.Tasks命名空间
阅读全文
摘要:定义一个委托实现回调函数 public delegate void CallBackDelegate(string message); 程序开始的时候 //把回调的方法给委托变量 CallBackDelegate cbd = CallBack; //启动线程 Thread th = new Thread(Fun); th.Start(cbd);//开始线程,代入参数 //线程执行的方法 参...
阅读全文
摘要:其实这个比较简单,子线程怎么通知主线程,就是让子线程做完了自己的事儿就去干主线程的转回去干主线程的事儿。 那么怎么让子线程去做主线程的事儿呢,我们只需要把主线程的方法传递给子线程就行了,那么传递方法就很简单了委托传值嘛; 下面有一个例子,子线程干一件事情,做完了通知主线程 1 2 3 4 5 6 7
阅读全文
摘要:继上篇文章《绝对干货,教你4分钟插入1000万条数据到mysql数据库表,快快进来》发布后在博客园首页展示得到了挺多的阅读量,我这篇文章就是对上篇文章的千万级数据库表在高并发访问下如何进行测试访问 这篇文章的知识点如下: 1.如何自写几十行代码就能模拟测试高并发下访问千万级数据库表 2.比较高并发下
阅读全文
摘要:前言:事先说明:在实际应用中这种做法设计需要各位读者自己设计,本文只提供一种思想。准备工作:安装后本地数redis服务器,使用mysql数据库,事先插入1000万条数据,可以参考我之前的文章插入数据,这里不再细说。我大概的做法是这样的,编码使用多线程访问我的数据库,在访问数据库前先访问redis缓存
阅读全文
摘要:1、在面试的时候碰到一个 问题,就是让写一张表中有id和name 两个字段,查询出name重复的所有数据,现在列下: select * from xi a where (a.username) in (select username from xi group by username having
阅读全文
摘要:1.创建测试环境,(插入100万条数据大概耗时5分钟)。 2.几种典型的分页sql,下面例子是每页50条,198*50=9900,取第199页数据。 2.分别在1万,10万(取1990页),100(取19900页)记录集下测试。 测试sql: 1万:基本感觉不到差异。 10万: 100万: 结论:
阅读全文
摘要:Redis 支持简单且易用的主从复制(master-slave replication)功能, 该功能可以让从服务器(slave server)成为主服务器(master server)的精确复制品。 以下是关于 Redis 复制功能的几个重要方面: Redis 使用异步复制。 从 Redis 2.
阅读全文
摘要:Redis-benchmark为Redis性能测试工具。 指令说明: [ruby] view plain copy Usage: redis-benchmark [-h <host>] [-p <port>] [-c <clients>] [-n <requests]> [-k <boolean>]
阅读全文
摘要:redis做压测可以用自带的redis-benchmark工具,使用简单,效果也比较不错。 linux下一般无需下载,windows下redis-benchmark压力测试工具下载地址:http://www.daixiaorui.com/source/18.html(解压后的redis-benchm
阅读全文
摘要:背景: 一般情况下,经常会遇到一个单线程程序时执行对CPU,MEMORY,IO利用率上不来,且速度慢下问题;那么,怎么解决这些问题呢? 据我个人经验来说有以下两种方式: 1、并行、多线程(Parallel、Task、ThreadPool) 2、多进程MultipleProcess 恰好工作中又一次遇
阅读全文
摘要:在多线程的程序中,经常会出现两种情况: 一种情况: 应用程序中,线程把大部分的时间花费在等待状态,等待某个事件发生,然后才能给予响应 这一般使用ThreadPool(线程池)来解决; 另一种情况:线程平时都处于休眠状态,只是周期性地被唤醒 这一般使用Timer(定时器)来解决; 本篇文章单单讲线程池
阅读全文
摘要:在C#中通过使用方法来获取返回值时,通常只能得到一个返回值。因此,当一个方法需要返回多个值的时候,就需要用到ref和out,那么这两个方法区别在哪儿呢? MSDN: ref 关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。若要使用 ref
阅读全文
摘要:之前学习C#时候就遇到了这个问题,不过当时没有深究。昨晚想到这个问题时候自己尝试敲了敲代码,结果从运行的结果来看,越看越乱。在查看了一些资料的基础上,自己总结了一下。 可能会有点乱,但是自己总结出来的东西。 一:ref 关键字使参数按引用传递。 其效果是,当控制权传递回调用方法时,在方法中对参数所做
阅读全文
摘要:C#多线程学习 之 线程池[ThreadPool] 在多线程的程序中,经常会出现两种情况: 一种情况: 应用程序中,线程把大部分的时间花费在等待状态,等待某个事件发生,然后才能给予响应 这一般使用ThreadPool(线程池)来解决; 另一种情况:线程平时都处于休眠状态,只是周期性地被唤醒 这一般使
阅读全文
摘要:线程是程序中的控制流程的封装。你可能已经习惯于写单线程程序,也就是,程序在它们的代码中一次只在一条路中执行。如果你多弄几个线程的话,代码运行可能会更加“同步”。在一个有着多线程的典型进程中,零个或更多线程在同时运行。但是,在有着N个CPU的机器上,一个线程只能在给定的时间上在一个CPU上运行,因为每
阅读全文
摘要:一、两者区别 1.ManualResetEvent 调用一次Set()后将允许恢复所有被阻塞线程。需手动在调用WaitOne()之后调用Reset()重置信号量状态为非终止,然后再次调用WaitOne()的时候才能继续阻塞线程,反之则不阻塞 2.AutoResetEvent,调用一次Set()只能继
阅读全文
摘要:1、先来看看这个多线程编程多线程用于数据采集时,速度明显很快,下面是基本方法,把那个auto写成采集数据方法即可。using System;using System.Collections.Generic;using System.Text;using System.Threading;namesp
阅读全文
摘要:c# ThreadPool 判断子线程全部执行完毕的四种方法1、先来看看这个多线程编程多线程用于数据采集时,速度明显很快,下面是基本方法,把那个auto写成采集数据方法即可。using System;using System.Collections.Generic;using System.Text
阅读全文
摘要:前言 现在的数据库种类越来越多,数据库备份的格式也越来越复杂,所以数据格式化一直是一个老生常谈的问题。据库备份文件格式那么多,既有SQL的,也有BAK的,还有TXT的等。数据库种类也有很多,MySQL,Oracle,SQL server等,怎么对这些数据库进行管理?昨天泄露access格式的数据库,
阅读全文
摘要:本系列文章主要索引如下: 一、ETL利器Kettle实战应用解析系列一【Kettle使用介绍】 二、ETL利器Kettle实战应用解析系列二 【应用场景和实战DEMO下载】 三、ETL利器Kettle实战应用解析系列三 【ETL后台进程执行配置方式】 本文主要阅读目录如下: 1、Kettle概念 2
阅读全文
摘要:WebServices特点介绍 WebServices 提供一个建立分布式应用的平台,使得运行在不同操作系统和不同设备上的软件,或者是用不同的程序语言和不同厂商的软件开发工具开发的软件,所有可能的已开发和部署的软件,能够利用这一平台实现分布式计算的目的。WebServices的思想是:使得应用程序也
阅读全文
摘要:5天玩转C#并行和多线程编程系列文章目录 5天玩转C#并行和多线程编程 —— 第一天 认识Parallel 5天玩转C#并行和多线程编程 —— 第二天 并行集合和PLinq 5天玩转C#并行和多线程编程 —— 第三天 认识和使用Task 5天玩转C#并行和多线程编程 —— 第四天 Task进阶 5天
阅读全文
摘要:5天玩转C#并行和多线程编程系列文章目录 5天玩转C#并行和多线程编程 —— 第一天 认识Parallel 5天玩转C#并行和多线程编程 —— 第二天 并行集合和PLinq 5天玩转C#并行和多线程编程 —— 第三天 认识和使用Task 5天玩转C#并行和多线程编程 —— 第四天 Task进阶 5天
阅读全文
摘要:使用多线程 1. 单元模式和Windows Forms 单元模式线程是一个自动线程安全机制, 非常贴近于COM——Microsoft的遗留下的组件对象模型。尽管.NET最大地放弃摆脱了遗留下的模型,但很多时候它也会突然出现,这是因为有必要与旧的API 进行通信。单元模式线程与Windows Form
阅读全文
摘要:线程池ThreadPool的常用方法介绍 如果您理解了线程池目的及优点后,让我们温故下线程池的常用的几个方法: 1. public static Boolean QueueUserWorkItem(WaitCallback wc, Object state); WaitCallback回调函数就是前
阅读全文
摘要:三个月,整整三个月了,我忽然发现我还有三个月前的一个小系列的文章没有结束,我还欠一个试验!线程池是.NET中的重要组件,几乎所有的异步功能依赖于线程池。之前我们讨论了线程池的作用、独立线程池的存在意义,以及对CLR线程池和IO线程池进行了一定说明。不过这些说明可能有些“抽象”,于是我们还是要通过试验
阅读全文
摘要:C#多线程编程介绍——使用thread、threadpool、timer 在system.threading 命名空间提供一些使得能进行多线程编程的类和接口,其中线程的创建有以下三种方法:thread、threadpool、timer。下面我就他们的使用方法逐个作一简单介绍。 1. thread 这
阅读全文
摘要:在命名空间System.Threading.Tasks下,有一个静态类Parallel简化了在同步状态下的Task的操作。Parallel主要提供了3个有用的方法:For、ForEach、Invoke。 For方法,主要用于处理针对数组元素的并行操作,如下: staticvoid Main(stri
阅读全文
摘要:一:Task的优势 ThreadPool相比Thread来说具备了很多优势,但是ThreadPool却又存在一些使用上的不方便。比如: 1: ThreadPool不支持线程的取消、完成、失败通知等交互性操作; 2: ThreadPool不支持线程执行的先后次序; 以往,如果开发者要实现上述功能,需要
阅读全文
摘要:C#多线程及控制线程数量,对for循环输出效率。 虽然输出不规律,但是效率明显提高。 思路: 如果要删除1000条数据,只使用for循环,则一个接着一个输出。所以,把1000条数据分成seed段,每段10条数据。 注:createCount.Value的值是具体输出数据的数量 这里把数据分配给see
阅读全文
摘要:单线程示例: public delegate void SM(); SM sm = new SM(() => { while (true) { //读取发短信列表 if(有数据) //发短信之后把短信标识改掉,防止重复发短信 else { //使用下一个时间间隔唤醒线程 System.Threadi
阅读全文
摘要:最主要区别: 1.Thread 是启动一个线程,但是没有参数。 2.ParameterThreadStart 线程可以接受一个输入参数 ThreadStart: ThreadStart这个委托定义为void ThreadStart(),也就是说,所执行的方法不能有参数。 ThreadStart th
阅读全文
摘要:windowService中使用多线程 代码 using System;using System.Collections.Generic;using System.Linq;using System.Text;using BusinessServices;using Common.Entities;
阅读全文
摘要:通常在数据量较少的情况下,我们从一个数据源将全部数据加载到目标数据库的时候可以采取的策略可以是:先将目标数据库的数据全部清空掉,然后全部重新从数据源加载进来。这是一个最简单并且最直观的并且不容易出错的一种解决方案,但是在很多时候会带来性能上的问题。 如果我们的数据源来自于不同的业务系统,数据动辄百万
阅读全文
摘要:网址:http://www.cnblogs.com/shuaifei/p/4469526.html 最近的项目中需要对上百万级的数据进行增量抽取操作,因此了解了一下TIMESTAMP的应用,特此记录 timestamp -- 时间戳:数据库中自动生成的唯一二进制数字,与时间和日期无关的, 通常用作给
阅读全文
摘要:参考资料:SQL分页语句 第一种方法:效率最高 ? 1 2 3 4 5 6 7 8 9 10 11 SELECT TOP 页大小 * FROM ( SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNumber,* FROM table1 ) as A WHE
阅读全文
摘要:http://freshflower.iteye.com/blog/2285272 想着当初到处找不到相关资料来实现.net的Socket通信的痛苦与心酸, 于是将自己写的代码公布给大家, 让大家少走点弯路, 以供参考. 若是觉得文中的思路有哪里不正确的地方, 欢迎大家指正, 共同进步. 说到Soc
阅读全文
摘要:引言 我一直在探寻一个高性能的Socket客户端代码。以前,我使用Socket类写了一些基于传统异步编程模型的代码(BeginSend、BeginReceive,等等)也看过很多博客的知识,在linux中有poll和epoll来实现,在windows下面微软MSDN中也提供了SocketAsyncE
阅读全文