- 博客(38)
- 资源 (36)
- 收藏
- 关注
转载 C#自定义消息与MFC对比
在C#中采用的是事件驱动方式,但在我们使用的过程中,有时候通过调用系统原有的消息,处理起来会比较简单一些,特别是在处理与DLL文件的交互时,的确是非常的方便。 在C#中使用自定义消息 在C#中使用自定义消息非常简单,只需要下面几个简单的步骤就可以了: 1、 定义消息 定义消息的方法和VC中定义消息有一点点不同 比如在VC中申明一个自定义消息: #define
2012-11-30 09:11:50 861
转载 调用不是本线程创建的windows控件会报错
应该使用控件的InvokeRequired属性来判断是否需要Invoke,如果是则使用控件Invoke的方法来执行一个委托.类似如下: public partial class Form1 : Form { private delegate void myDel(); public Form1() {
2012-11-26 11:33:13 485
转载 c#实现多线程代码例子
相信大家都有用过网际快车等下载资源的经历,它里面是可以设置线程数的(近年版本默认是10,曾经默认是5)。它会将文件分成与线程数相同的部分,然后每个线程下载自己的那一部分,这样下载效率就有可能提高。相信大家都有加多线程数,提升下载效率的经历。但细心的用户会发现,在带宽一定的情况下,并不是线程越多,速度越快,而是在某一点达到峰值。在C#中用多线程并不难实现。它有一个命名空间:System.Thre
2012-11-26 11:11:42 618
转载 线程池概述
到目前为止我们使用多线程应用程序的目的是尽可能多地使用计算机处理器资源。所以,看起来我们仅需要为每个独立的任务分配一个不同的线程,并让处理器确定在任何时间它总会处理其中的某一个任务。额,对小系统来说这样做很好。但是当系统越来越复杂时,线程的数量也会越来越多,操作系统将会花费更多时间处理锁分配,理清线程之间的关系,处理程序指令的时间实际上是很少的。为了让我们的程序具备可扩展性,我们将不得不对线程进行
2012-11-26 10:43:30 424
转载 设计多线程应用程序
一个多线程程序有多于两个线程,它可以通过并发实现重要性能提升,不管是否并发执行线程。线程并发执行意味着多于两个线程在同一时间执行。并发是指>=2个线程在>=2个处理器中同步执行。在这部分,我们将探讨设计多线程应用时的考量和问题。在你开发应用程序之前,你应该问问你自己以下问题: 1. 把程序分成小块来运行在不同线程上是否可行? 2. 如果可以将一个线程分成小块,那么该如何进行拆分呢?
2012-11-26 10:18:22 547
转载 com组件和一般dll的区别
这阵子在想一个需要利用com组件的小程序怎么做,突然想起上次去面试的时候考官问过autocad开发时为什么要利用com,而不采用一般的dll?用com来写程序要比普通的dll麻烦一些,但是带来的好处也大很多,尤其是在开发像autocad这样大型软件的时候,需要跨区域来协同工作。“学习COM,首先要知道COM的目的是什么,它解决了一个什么样的问题,在此基础上,MS提供了各式各样的可扩展的COM服务,
2012-11-26 09:55:10 841
转载 线程间操作无效,从不是创建控件的线程访问它
访问 Windows 窗体控件本质上不是线程安全的。如果有两个或多个线程操作某一控件的状态,则可能会迫使该控件进入一种不一致的状态。还可能出现其他与线程相关的 bug,包括争用情况和死锁。确保以线程安全方式访问控件非常重要。.NET Framework 有助于在以非线程安全方式访问控件时检测到这一问题。在调试器中运行应用程序时,如果创建某控件的线程之外的其他线程试图调用该控件,则调试器
2012-11-22 20:20:10 642
转载 C#使用线程Monitor.Enter()和Monitor.Exit()
2012-02-03 17:03 by DanielWise,Monitor 方法是静态的,不需要生成Monitor 类的实例就可以直接调用它们。在.NET Framework 中,每个对象都有一个与之关联的锁,对象可以得到并释放它以便于在任意时间只有一个线程可以访问对象实例变量和方法。类似的,.NET Framework 中的每个对象都提供一个允许自己进入等待状态的机制。与锁的机制类
2012-11-21 16:28:18 14810
转载 需求分析概述
尽量把客户所持的假设解释清楚,特别是那些发生冲突的部分。从字里行间去理解以明确客户没有表达清楚但又想加入的特性或特征。Gause 和Weinberg(1989)提出使用“上下文无关问题”—这是一个高层次的问题,它可以获取业务问题和可能的解决方案的全部信息。客户对这些问题的回答诸如“产品要求怎样的精确度”或“你能帮我解释一下你为什么不同意某人的回答吗?”这些回答可以更直接地认识问题,而这是封闭(cl
2012-11-20 10:02:46 908
转载 Visual C解开特洛伊木马的隐藏面纱
http://www.sina.com.cn 2005年06月14日 08:53 天极yesky 作者: 青岛研究所郎锐 摘要:本文针对于黑软隐藏程序的技术对其基本原理和多种实现方法做了较为深入的剖析。 关键字:黑客软件、隐藏程序、Visual C++ 一、引言 “特洛伊木马”曾在网上造成很大恐慌,此类黑客程序通过欺骗手段
2012-11-17 11:27:11 1025
转载 .Net线程问题解答
怎样创建一个线程 受托管的线程与 Windows线程 前台线程与后台线程 名为BeginXXX和EndXXX的方法是做什么用的 异步和多线程有什么关联 WinForm多线程编程篇我的多线程WinForm程序老是抛出InvalidOperationException ,怎么解决?Invoke,BeginInvoke干什么用的,内部是怎么实现的每个线程都有消息队列吗? 为什
2012-11-16 21:05:43 531
转载 多线程编程笔记(五)
]处理周期事件1、System.WinForms.TimerTimer的Tick事件代码:Interlocked.Increment(ref _count);2、ThreadPoolA.生成WaitOrTimerCallback事例B.生成一个同步对象C.添加到线程池例1:/*RegisterWaitForSingleObject下面的示例演
2012-11-16 19:51:07 479
转载 多线程编程笔记(三)
互斥1、Monitor.Enter和Monitor.ExitMonitor 类通过向单个线程授予对象锁来控制对对象的访问。对象锁提供限制访问代码块(通常称为临界区)的能力。当一个线程拥有对象的锁时,其他任何线程都不能获取该锁。还可以使用 Monitor 来确保不会允许其他任何线程访问正在由锁的所有者执行的应用程序代码节,除非另一个线程正在使用其他的锁定对象执行该代码。注意:使用 Mon
2012-11-16 19:48:15 427
转载 多线程编程笔记(二)
线程池用线程池编写多线程应用一般步骤:1、编写工作任务:将所有的工作任务泛放在一个符合WaitCallback接口的函数中 public static void MyAsyncOperation(object state) { //... //要完成的工作任务 } 一般通过state传入一个同步对象2、往线程池中添加工作项 ThreadPoo
2012-11-16 19:46:59 436
转载 多线程编程笔记(一)
操作线程1、操作实例using System;using System.Threading;namespace AppThreadDemo{ class App { static public void threadMethod() { Console.WriteLine("\n执行ThreadMethod的线程的代码为:{0}",Thread.C
2012-11-16 19:45:05 587
转载 .NET多线程编程(4):线程池和异步编程
如果你仔细阅读了我前面的三篇文章,我相信你对用.NET Framework提供的System.Threading.Thread类和一些线程同步的类基本的线程知识和多线程编程知识很了解。我们将在这里进一步讨论一些.NET类,以及他们在多线程编程中扮演的角色和怎么编程。它们是:System.Threading.ThreadPool 类System.Threading.Timer 类如果线程
2012-11-16 19:43:14 688
转载 .NET多线程编程(3):线程同步
随着对多线程学习的深入,你可能觉得需要了解一些有关线程共享资源的问题. .NET framework提供了很多的类和数据类型来控制对共享资源的访问。考虑一种我们经常遇到的情况:有一些全局变量和共享的类变量,我们需要从不同的线程来更新它们,可以通过使用System.Threading.Interlocked类完成这样的任务,它提供了原子的,非模块化的整数更新操作。还有你可以使用System.
2012-11-16 19:40:04 470
转载 死锁,生产者与消费者
// DeadLockSample.cs// 分析一下为什么会发生死锁?using System;using System.Threading;public class Test{ static readonly object firstLock = new object(); static readonly object secondLock = ne
2012-11-16 19:37:53 830
转载 线程内部是如何进行的?
来源:csdn 作者: 看一下以下两个例子的运行结果://TestThread.csusing System;using System.Threading;public class Test{ static int count=0; static void Main() { ThreadS
2012-11-16 19:35:59 444
转载 线程中的参数传递
使用类、类的方法或类的属性都可以向线程传递参数:public class UrlDownloader{ string url; public UrlDownloader (string url) { this.url = url; } public void Download() { W
2012-11-16 19:34:30 492
转载 .NET多线程编程(2):System.Threading.Thread类
在接下来的这篇文章中,我将向大家介绍.NET中的线程API,怎么样用C#创建线程,启动和停止线程,设置优先级和状态. 在.NET中编写的程序将被自动的分配一个线程.让我们来看看用C#编程语言创建线程并且继续学习线程的知识。我们都知道.NET的运行时环境的主线程由Main ()方法来启动应用程序,而且.NET的编译语言有自动的垃圾收集功能,这个垃圾收集发生在另外一个线程里面,所有的这些都是
2012-11-16 19:30:29 723
转载 .NET多线程编程(1):多任务和多线程
在.NET多线程编程这个系列我们讲一起来探讨多线程编程的各个方面。首先我将在本篇文章的开始向大家介绍多线程的有关概念以及多线程编程的基础知识;在接下来的文章中,我将逐一讲述。NET平台上多线程编程的知识,诸如System.Threading命名空间的重要类以及方法,并就一些例子程序来作说明。 引言 早期的计算硬件十分复杂,但是操作系统执行的功能确十分的简单。那个时候的操作系统在任一
2012-11-16 19:27:21 1055
转载 C#目录与文件总结
注:C#的文件操作都是包含在System.Io的命名空间里面。一、 Path类:对一个路径做相应操作,包括文件路径,目录路径。通常会用到Path这个类。1.更改路径字符串的扩展名Public static string ChangeExtension(string path,string extension)参数:path(String):要修改的路径信息.
2012-11-11 12:32:58 607
转载 FileInfo与DirectoryInfo
前篇写了 File类与Directory类,今天写 他的 实例类,嘿嘿先上张图: 附上 静态类与实例类的区别:Fileinfo类与DirectoryInfo类//文件File类是静态类,而FileInfo没有静态方法的。File类的静态方法在调用时要执行安全检查。对于操作单一的文件,用静态方法快,但是如果对对象多种操作,用实例化方法,静态方法会每次都寻找文件,而
2012-11-11 12:31:32 666
转载 C#和VB2005初学者如何使用FileSystemInfo类
Class in C# and VB.NET for beginnersFileSystemInfo ClassOne of the rich experiences in working with .NET is a huge collection of Base Class Libraries. The .NET Framework class library is a lib
2012-11-09 08:49:34 848
转载 C#打包应用程序(安装程序)
声明:软件平台:VisualStudio2005中文版(在03下操作雷同).1:新建安装部署项目打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定.(详细见下图)2:安装向导关闭后打开安装向导,点击下一步,或者直接点击完成.如下图:3:开始制作安装向导完成后即可进入项目文件夹:
2012-11-08 16:44:59 513
转载 用C#获取浏览文件夹对话框
摘要: C#里面有选择文件的对话框控件,却没有选择文件夹的对话框控件,我们可以用C#的FolderNameEditor类的子类FolderBrowser类来实现获取浏览文件夹对话框的功能。 下面来看看具体是怎么实现的。 首先新建一个winform的项 ... C#里面有选择文件的对话框控件,却没有选择文件夹的对话框控件,我们可以用C#的FolderNameE
2012-11-08 13:31:09 660
转载 C#多线程编程
一.多线程的概念 Windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本,你可以通过任务管理器查看当前系统运行的程序和进程。什么是进程呢?当一个程序开始运行时,它就是一个进程,进程所指包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的,线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共
2012-11-08 13:26:32 716
转载 C#中时间和委托的例子
C#中事件和委托的例子[日期:2010-11-22] 来源:25175 作者:tongbo 阅读:156 次 [字体:大中小]powered by 25175.net public partial class Form1 : Form{public Form1(){InitializeComponent();}priva
2012-11-04 10:45:13 526
转载 win32经验总结
转:win32经验总结觉得写那些读书笔记太久,太烦,里面有价值的东西不明显,如果把关键点总结的话,应该会更有利用价值。一 窗口和消息1 前缀前缀 全称 释义 CS class style 类风格选项 CW create windows 创建窗口选项 DT draw text 绘制文本选项 I
2012-11-04 10:21:03 1617
转载 UML类图
类图用于显示类,接口以及它们之间的静态结构和关系的图。通过定义我们可以了解到类图分为两个方面一是类,接口的静态结构,二是他们之间的静态关系。 首先我们必须先了解类或接口的静态结构,这样才可以去理解他们之间的关联。而一个类图可以分为五个层次来说明类的静态结构(接口少于5层,一般只有3层): 类图的第一层是类名。当一个类名使用正体字时,说明该类可以创建实例。反之,说明这个类
2012-11-03 19:04:29 571
转载 封装
一:封装的概念可以把程序按某种规则分成很多“块“,块与块之间可能会有联系,每个块都有一个可变部分和一个稳定的部分。我们需要把可变的部分和稳定的部分分离出来,将稳定的部分 暴露给其他块,而将可变的部分隐藏起来,以便于随时可以让它修改。这项工作就是封装.二:封装的好处其一: 使用者只需要了解如何通过类的接口使用类,而不用关心类的内部数据结构和数据组织方法。 其二:高内聚
2012-11-03 18:44:03 386
转载 委托
回调(callback)函数是Windows编程的一个重要部分。如果您具备C或C++编程背景,就曾在许多Windows API中使用过回调。VB添加了AddressOf关键字后,开发人员就可以利用以前一度受到限制的API了。回调函数实际上是方法调用的指针,也称为函数指针,是一个非常强大的编程特性。.NET以委托的形式实现了函数指针的概念。它们的特殊之处是,与C函数指针不同,.NET委托是类型安全的
2012-11-03 16:58:11 296
转载 C#委托与事件*
在C# 中,委托类似于C++中的回调机制,声明一个委托类型,可以分别采用实例方法和静态方法实例化了委托,所不同的是采用静态方法实例化的委托,它的Target属性为null;而用实例方法实例化的委托,它的Target属性为该实例。但是这里要注意,如果你用Console.WriterLine(delegateObj.Target)输出该实例,结果是该实例的类型,而不是该实例的名字。
2012-11-03 14:52:18 421
转载 .NET设计模式:简单工厂模式
最近一直在看设计模式,想把自己的学习笔记与大家分享一下,如果能帮助大家的话,我会非常高兴,同时也欢迎大家指出里面的不足。园子里其实关于此类文章已经很多了,如果dudu感觉放在首页欠妥的话,可以调一下。简单工厂模式(Simple Factory Pattern)介绍:简单工厂模式不能说是一个设计模式,说它是一种编程习惯可能更恰当些。因为它至少不是Gof23种设计模式之一。但它在实际的
2012-11-02 19:25:10 563
转载 6个重要的.NET概念:栈,堆,值类型,引用类型,装箱,拆箱
引言 本篇文章主要介绍.NET中6个重要的概念:栈,堆,值类型,引用类型,装箱,拆箱。文章开始介绍当你声明一个变量时,编译器内部发生了什么,然后介绍两个重要的概念:栈和堆;最后介绍值类型和引用类型,并说明一些有关它们的重要原理。 最后通过一个简单的示例代码说明装箱拆箱带来的性能损耗。 声明变量的内部机制 在.NET程序中,当你声明一个变量,将在内存中分配一块内存。这块
2012-11-02 11:35:02 678
转载 C#中被委托的方法必须是静态的吗?
静态方法与实例方法的区别:静态方法都是通过关键字static来定义的,静态方法不需要实例这个对象就可以通过类名来访问这个对象。在静态方法中不能直接访问类中的非静态成员。而用实例方法则需要通过具体的实例对象来调用,并且可以访问实例对象中的任何成员。如果用委托绑定实例方法的话需要用实例对象来访问,所以我们在绑定实例方法到委托的时候必须同时让委托得到实例对象的信息,这样才能在委托被回调的时候成功
2012-11-02 11:03:36 9142
转载 C#中的static关键字
静态分配的,有两种情况: 1. 用在类里的属性、方法前面,这样的静态属性与方法不需要创建实例就能访问, 通过类名或对象名都能访问它,静态属性、方法只有“一份”:即如果一个类新建有N个 对象,这N 个对象只有同一个静态属性与方法;2. 方法内部的静态变量: 方法内部的静态变量,执行完静态变量值不消失,再次执行此对象的方法时,值仍存在, 它不是在栈中分配的,是在静态区分析的, 这是与局部变量最
2012-11-02 10:04:56 612
Origin绘制热图(数据及.opj文件)
2017-07-22
Origin导入多个文件(数据及效果opj文件)
2017-07-22
java数据结构和算法电子书配套代码及算法动画演示
2017-05-17
利用python绘制热图、计算网络节点degree、kshell、介数中心性、接近中心性、特征向量中心性、PageRank,计算相关性含环境、代码、数据源
2017-05-12
ucinet6中文版 下载
2017-03-17
整体网分析讲义 UCINET软件实用指南
2017-03-17
jython-installer-2.7-b1.jar
2016-12-30
NetworkX环境搭建需要安装包
2016-11-19
Python基础教程(第2版)
2016-07-06
《Complex social contagion makes networks more vulnerable to disease outbreaks》
2016-03-25
统计建模与R软件
2016-03-17
Taobao oceanbase代码
2015-10-23
C#多媒体定时器 工具
2015-01-27
利用MVC模式编写的Winform程序源码
2014-06-27
《人月神话》(中文+英文)
2013-09-23
C#委托与事件
2012-10-17
C#+4.0图解教程.pdf
2012-10-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人