自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (67)
  • 收藏
  • 关注

原创 SpinWait的性能高于Thread.Sleep

在进行多线程开发时,我们经常会用到Thread.Sleep(timeout_ms)来等待或者腾出时间来让其他线程处理。不过,即使我们把timeout_ms设置为0,Thread.Sleep还是会执行等待操作。这就让人很纳闷了,我明明指定的等待时间是0毫秒,为什么还会执行等待呢?这时因为当我们调用Thread.Sleep时,是让内核暂停处理当前的线程,然后再看需要等待多久,当发现等待时间是tim

2013-11-27 13:03:50 25911 6

原创 用线程安全随机数解决Random在多线程中随机性重复的问题

在.NET中,随机数一般是用Random来获取,但是当在多任务的并行化编程时,问题就出现了。因为Random是基于时间作为种子来生成伪随机数的,而如果程序在多核并行时,在同一时间内的多个核中取到的时间是一样的,这样一来,生成的伪随机数就有可能会有一样的。如果业务需求中需要不可重复的随机数,那么这后果将会相当严重,所以必须采取一种新的方式来获取线程安全的伪随机数。下面是摘自《.NET Paralle

2013-11-27 10:36:54 10636

原创 VS2012并发可视化工具启动异常(当前正在进行ETW收集)

在调出VS2012的并发可视化时,弹出异常"Concurrentcy Visualizer无法启动,因为当前正在进行ETW收集",如下图后来查找资料,查了很久,终于在《收集 Windows 事件跟踪 (ETW) 数据》一文中找到线索。按照文中的说法,需要在性能管理器中右击性能会话,然后点开属性进行相应的设置,可是并发可视化工具在开启进直接异常了,这又怎么会有会话呢?既然直路走不通,

2013-11-26 16:26:28 3365

原创 用TaskScheduler代替invoke和begininvoke异步更新那界面数据

在异步编程时,为了更新界面的数据,经常会用invoke和begininvoke来操作。而这两个方法又必须是基于控件的,所以为了能够调用还必须传一个控件进去。而在基于任务编程时,可以使用TaskScheduler来直接更新数据。下面是代码using System;using System.Collections.Generic;using System.ComponentModel;usi

2013-11-26 10:25:44 1953

原创 超线程将物理内核提升至更多的逻辑内核

现在电脑大多数是多核的,比如我的电脑是宏基的,下面是驱动精灵硬件检测的结果。我们可以看到,硬件概要中显示CPU是双核的,现在我们再看看CPU(处理器)的具体信息。同样是使用驱动精灵检测结果。这时我们会看到,核心/线程部分显示的是双核、四线程。那么这里的四线程又是什么意思呢?我们再看看任务管理器中性能选项的情况,见下图我们看到在CPU使用记录一项,显示出了四个块,

2013-11-23 09:13:06 4207

原创 并行化时要注意的线程安全与任务安全

在串行编程时,操作都是按顺序执行的,比如数字从1到100000递增,就必然的是1、2、3、4……100000。代码如下for (int i = 1; i <= 100000; i++) { Console.WriteLine(i); }然而,在并行化编程时,因为是并行运行的,所以执行顺序会与系

2013-11-22 15:20:57 2233

原创 .NET4.0的并行调试窗(Parallel Tasks)如何调出

.NET4.0增加了并行处理功能,在进行并行调试时,需要调出并行调试窗进行跟踪查看,可是按照>一书中说的Debug-Windows->Parallel Tasks,根本没有找到并行调试窗,如下图。这是为什么呢?看着>一书中明明是可以调用的,思考了一会儿之后,想着会不会是要在运行中调出的。于是设了两个断点,然后在运行中按Debug->Windows->Parallel Tasks,得到了

2013-11-20 10:35:31 2135

原创 dynamic和匿名对象

有时需要使用匿名对象存储数据,而有时需要使用dynamic去提取数据,这里写了一个简单的示例,代码如下static void Main(string[] args) { List datas = new List(); for (int index = 0; index < 1000; index++) {

2013-11-18 17:57:42 2510

原创 Environment.CurrentDirectory引起的BUG

今天在运行一个项目时,提示“配置文件不存在”,经查是源于一个配置文件的路径不正确。可是程序在本地运行OK的,为什么在客户电脑上运行就不OK了?想来想去只能是Environment.CurrentDirectory这个取路径的方式不对,然后换成了Application.StartupPath程序正常了。解决完问题后,回过头来思考,本地运行和客户电脑上运行唯一的差别就是系统上,本地是WIN7

2013-11-12 18:17:52 3184 1

原创 一个失误引发的奇怪线程BUG

今天客户反应之前做的一个项目中,有一个功能时能时不能,于是按照描述,在自己电脑上进行了相应的测试,可是发现问题难以重现。后来按着客户的环境开了个虚拟机(XP SP3)进行配置,问题重现了。可是在自己电脑上(WIN7 64)却不会出现。难道是系统引发的问题?可是依据项目以前的案例,在XP上运行是OK的。那这是什么原因?思来想去,只得打开代码,挨个查找,最后把可能的地方都一一作了调整,并输出日志,

2013-11-04 17:53:42 970

原创 64位引用32位导致“未能加载文件或程序集或它的某一个依赖项”的异常

今天在合并项目时,出现了总是提示“未能加载文件或程序集或它的某一个依赖项”的异常,反复检查了几遍所引用的程序集,并没有哪个依赖项没有加载,而且看生成的文件,程序集也已经生成了,但是一调用的时候就异常。网上搜了很多资料,基本上都说是引用的问题,可是试了之后根本解决不了问题。后来,忽然想到,所引用的项目中引用了一个32位下的C++的DLL,为了兼容这个DLL,项目使用了32位的目标平台进行

2013-11-04 11:43:37 2569

十三万单词的单词库(SQLServer)

包含十三万单词的单词库,每个单词有对应的解释。在使用该脚本时,先要看“说明”,创建相应的表,然后再执行脚本。

2019-07-16

《SQL进阶教程》高清中文版(含示例代码).zip

SQL进阶教程高清中文版,内部包含示例代码。[日]MICK著,吴炎昌译。

2019-06-17

AspNetVueElementUI.zip(含图标扩展)

基于asp.net、vue、element UI实现网站的快速建立。使用vue和element UI实现界面渲染,使用vue-resource实现网络访问,使用asp.net实现身份验证和api的构建。包含全局组件的注册、elementUI图标的扩展。

2019-05-10

AspNetVueElementUI(含组件注册)

基于asp.net、vue、element UI实现网站的快速建立。使用vue和element UI实现界面渲染,使用vue-resource实现网络访问,使用asp.net实现身份验证和api的构建。

2019-05-10

AspNetVueElementUI

基于asp.net、vue、element UI实现网站的快速建立。使用vue和element UI实现界面渲染,使用vue-resource实现网络访问,使用asp.net实现身份验证和api的构建。

2019-05-06

WebApiSwaggerJWT

基于ASP.NET的MVC构建WebAPI,以Swagger作为说明文档和测试的界面,用JWT作为票据,内部采用HS256加密算法。

2018-08-21

pyodbc(python27)-win32

python27中使用的数据库模块pyodbc,该模块用于与sql server数据库连接。

2017-10-18

钉钉机器人通知(控制台)

钉钉机器人通知,只需用CMD调用,传入access_token和msg即可发出通知。

2017-06-14

事件注册实现界面数据交互

事件通知实现界面间的数据交互

2017-05-24

Nuget Server

Nuget服务的搭建-打包-上传-删除

2017-03-31

给枚举值增加扩展数据

给枚举值增加扩展数据

2017-02-15

diving-into-Asp-Net-webapi

国外大牛、微软MVP所著的Asp.Net方面的WebApi书籍

2016-05-26

WinForm内嵌Unity3D并实现交互

1.Unity按键事件的实现 2.WinForm内嵌Unity3D 3.axUnityWebPlayer的Src的动态设置,右键禁用,隐藏图标实现进度条加载

2015-11-17

WinForm嵌入Unity3D并实现交互

1.Unity按键事件的实现 2.WinForm内嵌Unity3D 3.axUnityWebPlayer的Src的动态设置,右键禁用,隐藏图标实现进度条加载

2015-11-17

ITextSharp5.0生成PDF(含页眉页脚的生成)

ITextSharp5.0生成PDF(含页眉页脚的生成)

2015-07-29

Asp.net的ReportViewer的RDLC设计及动态绑定数据源

Asp.net的ReportViewer的RDLC设计及动态绑定数据源

2015-05-08

json转换c#实体类

json数据交换格式使用的极广泛,为了能将数据更好的操作,需要使用相应的类开反序列化。而这个类的构造相应繁锁,使用该工具,可以免除这一烦恼,直接依据JSON数据得到相应的C#类,然后加入到项目中就可以使用。

2015-01-14

Pop3邮件登陆(含SSL加密登陆)

Pop3邮件登陆(含SSL加密登陆) 代码中对邮件的分析是依据获取的内容进行分析的,不一定完全准确,在使用中请可能需要作出修改和调整。

2014-04-24

NDK开发的简单实例(JNI及Android的C组件实现)

基于NDK TOOL的动态库实现,包含JNI调用、动态库的编译。 1、编译本地调用的JAVA类 2、使用javah从JAVA类中转换成相应的头文件(已有genHeader.bat的脚本直接生成,其中的com.ex.sot.NativeDataManage是相应的类,需依据实现作修改) 3、实现相对应的*.c并调用C组件(在jni文件夹下) 3、使用C实现所需功能的C组件

2014-03-24

Android之动态库生成并打包到APK中(Windows下)

Android内核是Linux的,而linux的动态库是*.so文件,那么在windows要如何生成并打包到APK中呢?实现这一过程,大致需要以下几个步骤: 1、搭建编译环境 2、使用JNI生成相应的头文件 3、编写动态库的实现 4、生成动态库 5、编译调用动态库的代码 6、动态库打包到APK中 7、测试 具体可以参看该文http://blog.csdn.net/xxdddail/article/details/21515819

2014-03-19

Ant脚本打包Android程序的demo 多渠道及第三方JAR打包

build_with_bat是基于bat脚本实现的。 build是在build_with_bat的基础上实现的,主要是在compile和dex部分增加了第三jar的打包。 build_mulity_channel是多渠道打包脚本。该脚本需要ant-contrib-1.0b3.jar的支持。包中已包含,需要将其放到ant的lib文件夹下。">build_with_bat是基于bat脚本实现的。 build是在build_with_bat的基础上实现的,主要是在compile和dex部分增加了第三jar的打包。 build_mulity_channel是多渠道打包脚本。该脚本需要ant-contrib-1.0b3.jar的支持。包中已包含,需要将其放到ant的lib? [更多]

2014-03-17

Ant脚本打包Android程序的demo(含打包第三方jar)

Ant脚本打包Android程序的demo(含打包第三方jar)。 build_with_bat是基于bat脚本实现的。 build是在build_with_bat的基础上实现的,主要是在compile和dex部分增加了第三jar的打包。

2014-03-14

Linux下以C构建WEB服务同时响应XHR(XMLHttpRequest)请求

Linux下以C构建WEB服务并响应XHR(XMLHttpRequest)请求 具体可以参见该文 http://blog.csdn.net/xxdddail/article/details/18841325

2014-01-28

CCI所需的libz3.dll、Microsoft.Z3.dll、Microsoft.Z3V3.dll等的DLL安装包

CCI项目中缺少libz3.dll、Microsoft.Z3.dll、Microsoft.Z3V3.dll等的DLL,下载该安装包后,进行安装。然后找到bin或者x64文件夹,找到对应的DLL,拷贝到相应的文件夹下。

2014-01-23

VS2012中QT5.1自定plugin及动态加载plugin

在VS2012中基于QT5.1自定义接口、实现插件,动态载入插件。 该插件实现图片的水平及垂直变换。

2013-12-26

C#的COM事件在C++和JAVA中触发和响应的实现

C#的COM事件在C++和JAVA中触发和响应的实现 C#中定义COM的事件,在C++或者JAVA中去实现事件,并由其执行相应的函数后触发COM内部的逻辑,然后响应事件。

2013-12-13

.NET4利用MemoryMappedFile实现跨进程多个可执行程序之间的通信

基于.NET4.0的MemoryMappedFile实现共享内存通信 共享内存通信可以解决跨线程、跨进程、跨EXE之间通信的问题 对于需要传输图片等引用类数据,可以通过序列化和反序列化配合共享内存实现跨进程(跨EXE)通信 共享内存可以从磁盘文件中映射,也可以直接映射到内存中。 如果映射到磁盘中,可以实现持久化。 如果只映射到内存中,生存期只能是在程序的生存期。 可以参照MSDN的文档http://msdn.microsoft.com/en-us/library/dd997372.aspx

2013-11-13

LINQ快速入门(很不错)

LINQ LINQ学习 LINQ入门 LINQ_TO_SQL 本书来自于C# CORNER 英文版的(单词简单,很容易读懂)

2013-10-29

谷歌插件开发实例(CSDN快速登陆)

谷歌插件开发,chrome extension实例,谷歌插件事件 http://blog.csdn.net/xxdddail/article/details/13504259

2013-10-29

wix3.0_wix3.7中文资源包.7z

wix3.0中文资源包 wix3.7中文资源包 WixUI_zh-cn.wxl WixUI_zh-tw.wxl

2013-10-14

Wix打包说明

Wix打包说明,含有图文说明,并附有具体的实现代码。(亲测可用)

2013-10-12

VM清理工具

VM清理工具 VM卸载工具 如果使用该工具后VM仍没有卸载干净,或者影响新版VM安装,请参照http://blog.csdn.net/xxdddail/article/details/11678087。

2013-09-14

C#开发Android应用实践(英文版)

C#开发Android应用实践(英文版) Professional Android Programming with Mono for Android and .NET and C#

2013-08-07

C#HTTP代理的实现之注册表实现

采用修改注册表项的形式来实现HTTP代理。 工程中附上了一个代理IP的文件列表,并通过启用代理,自动从一个代理IP跳到下一个代理IP来刷新网页。

2013-07-29

C#开发的Telnet模拟工具(基于SOCKET通信,可以直接按SMTP/POP3/IMAP通信协议操作)

C#开发的Telnet模拟工具(基于SOCKET通信,可以按SMTP/POP3/IMAP通信协议操作) 需要注意的是,发送和接收都有编码的控制。比如SMTP基于UTF-8发送,但接收的可能是GBK的。 有的地方做了提示,需要点击控件,并悬停一段时间。

2013-07-25

C# 基于SMTP协议和SOCKET发送邮件及附件

C# 基于SMTP协议和SOCKET发送邮件及附件。 在WIN7的VS2010环境下编译测试OK。

2013-07-23

短码之美:编程达人的心得技法

短码之美:编程达人的心得技法 一本相当不错提高编程相当不错的书!!! 找了很久才下载到的!! 推荐!隆重推荐!!

2013-06-10

VS2010的PHP插件

VS2010的PHP使用插件,可实现PHP高亮显示,PHP的调试

2013-06-01

HTML5摄像头播放视频和截图

基于HTML5利用摄像头实现视频播放,截取摄像头图像,上传截取的图像。 需要注意的是,上传图像是基于PHP的,所以务必将这些文件架设在可以运行PHP的环境(如appserv)。

2013-06-01

Win32安装mongodb(NoSQL)说明

Win32安装mongodb(NoSQL)说明 附有详细的安装说明 MongoDB服务安装 文中的bat脚本也一并打包

2013-05-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除