- 博客(21)
- 资源 (5)
- 收藏
- 关注
转载 通过搜索注册表来获取应用程序路径
/*Function: get the specified value of regedit key_strKey: Pointer to a null-terminated string containing the name of the subkey to open_strValue: Pointer to a null-terminated string containing
2009-07-24 09:51:00 1299
转载 C#磁盘大小管理操作类
/*************************************************************************************************** * Filename: DriveInfoLibrary.cs * Module: 磁盘管理操作类 * Copyright:
2009-07-21 15:07:00 2928 1
转载 c# 线程第四部分:高级话题3
2008-05-11 01:26终止线程一个线程可以通过Abort方法被强制终止:class Abort { static void Main() { Thread t = new Thread (delegate() {while(true);}); // 永远轮询 t.Start(); Thread.Sleep (
2009-07-21 14:32:00 998
转载 c# 线程第四部分:高级话题3
2008-05-11 01:26终止线程<br />一个线程可以通过Abort方法被强制终止:classAbort {staticvoid Main() { Thread t = newThread (delegate() {while(true);}); // 永远轮询 t.Start(); Thread.Sleep (1000); // 让它运行几秒... t.Abort(); // 然后终止它 }}<br />
2009-07-21 14:28:00 487
转载 c# 线程第四部分:高级话题1
2008-05-11 01:24非阻止同步早些时候,我们讨论了非常简单的赋值和更新一个字段时需要使用同步的例子。尽管锁总是能满足所需,但是一个排它锁意味着某个线程必须被阻止 ,就连累到系统开销和执行时间的不确定性。.NET framework 非阻止同步结构完成一些简单操作而不用阻止,暂停或等待。它涉及到如何使用 严格地原子操作,告诉编译器用 "volatile" 读和
2009-07-21 14:25:00 637
转载 c# 线程第四部分:高级话题2
2008-05-11 01:25生产者/消费者 队列一个普通的Wait/Pulse程序是一个生产消费队列——我们之前用 AutoResetEvent来写的一种结构。生产者入队任务(通常在主线程中),同时一个或多个消费者运行工作线程来一个接一个地摘掉和执行任务。在这个例子中我们将用字符串来表示任务,我们的任务队列看起来会像这样:Queuestring> taskQ
2009-07-21 14:25:00 614
转载 第三部分:使用多线程2
2008-05-11 01:21线程池如果你的程序有很多线程,导致花费了大多时间在等待句柄的阻止上,你可以通过 线程池来削减负担。线程池通过合并很多等待句柄在很少的线程上来节省时间。使用线程池,你需要注册一个连同将被执行的委托的Wait Handle,在Wait Handle发信号时。这个工作通过调用ThreadPool.RegisterWaitForSingleO
2009-07-21 14:24:00 596
转载 第三部分:使用多线程1
2008-05-11 01:21单元模式和Windows Forms单元模式线程是一个自动线程安全机制,非常贴近于COM——Microsoft的遗留下的组件对象模型。尽管.NET最大地放弃摆脱了遗留下的模型,但很多时候它也会突然出现,这是因为有必要与旧的API 进行通信。单元模式线程与Windows Forms最相关,因为大多Windows Forms使用或包装了长期存
2009-07-21 14:24:00 872
转载 C#中的多线程概述与概念
2008-05-11 01:15C#支持通过多线程并行地执行代码,一个线程有它独立的执行路径,能够与其它的线程同时地运行。一个C#程序开始于一个单线程,这个单线程是被CLR和操作系统(也称为“主线程”)自动创建的,并具有多线程创建额外的线程。这里的一个简单的例子及其输出:除非被指定,否则所有的例子都假定以下命名空间被引用了:using System;using Sy
2009-07-21 14:23:00 756
转载 c#将数据传入ThreadStart中
2008-05-11 01:16话又说回来,在上面的例子里,我们想更好地区分开每个线程的输出结果,让其中一个线程输出大写字母。我们传入一个状态字到Go中来完成整个任务,但我们不能使用ThreadStart委托,因为它不接受参数,所幸的是,.NET framework定义了另一个版本的委托叫做ParameterizedThreadStart, 它可以接收一个单独的obje
2009-07-21 14:23:00 7117
转载 第二部分:线程同步基础2
2008-05-11 01:08Abort方法被阻止的线程也可以通过Abort方法被强制释放,这与调用Interrupt相似,除了用ThreadAbortException异常代替了ThreadInterruptedException异常,此外,异常将被重新抛出在catch里(在试图以有好方式处理异常的时候),直到Thread.ResetAbort在catch中被调用;
2009-07-21 14:22:00 635
转载 第二部分:线程同步基础3
2008-05-11 01:09同步环境与手工的锁定相比,你可以进行说明性的锁定,用衍生自ContextBoundObject 并标以Synchronization特性的类,它告诉CLR自动执行锁操作,看这个例子:using System;using System.Threading;using System.Runtime.Remoting.Context
2009-07-21 14:22:00 493
转载 第二部分:线程同步基础1
2008-05-11 01:07同步要领下面的表格列展了.NET对协调或同步线程动作的可用的工具:简易阻止方法构成目的Sleep阻止给定的时间周期Join等待另一个线程完成锁系统构成目的跨进程?
2009-07-21 14:21:00 555
转载 Visual C# 多线程参数传递浅析
2008-05-10 22:46我们在写Remoting程序或者其他的一些应用程序的时候难免要和线程打交道,.Net使我们很容易就可以创建一个线程,但是它提供的创建线程和启动线程的方法没有明显的提供参数,假如我们要用线程来启动类里面一个带参数的方法该怎么办?下面就简单的介绍如何使用.NET提供的丰富的框架来实现这个功能。为了可以生动详细的介绍整个过程,我建立下面的一个.NE
2009-07-21 14:20:00 459
转载 C#的多线程机制探索(1)
2008-05-10 22:32http://hi.baidu.com/cnsdnet/blog/item/946c40fb623bf1126d22eba3.html一.多线程的概念 Windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本,你可以通过任务管理器查看当前系统运行的程序和进程。什么是进程呢?当一个程序开始运行时,它就是
2009-07-21 14:19:00 443
转载 C#的多线程机制探索(2)
2008-05-10 22:33http://hi.baidu.com/cnsdnet/blog/item/d1f1e2363d02cb350a55a9ac.html四、线程池和定时器--多线程的自动管理 在多线程的程序中,经常会出现两种情况。一种情况下,应用程序中的线程把大部分的时间花费在等待状态,等待某个事件发生,然后才能给予响应;而另外一种情况则是线程平常
2009-07-21 14:19:00 451
转载 C# 中多线程的应用
收藏 1.使用线程的情况 ①.程序需要执行和两个和多个任务 ②.程序要等待某事件的发生:例如用户输入、文件操作、网络操作和搜索 ③.后台程序2.多线程的并发执行如果有多个线程在执行,单CPU只有一个,到底执行的哪个?①.如果一个线程连续占用CPU资源时间过长,其它的资源得不到执行, 则系统会强制的切换执行其它线程。(强制剥夺)②.如果一个线程没事可做、
2009-07-21 14:12:00 837
转载 .Net开发中的多线程编程总结-转
(2009-05-26 15:21:52)标签:c 多线程 it 分类:技术探讨本文将对微软.Net开发中的多线程编程进行一个简单的总结,相信对大家会有所帮助的。下面就具体来看看: 不需要传递参数,也不需要返回参数 我们知道启动一个线程最直观的办法是使用Thread类,具体步骤如下:ThreadStart threadS
2009-07-21 14:11:00 482
转载 C#中ParameterizedThreadStart和ThreadStart区别
(2009-05-26 15:11:54)标签:c 多线程 杂谈 分类:技术探讨 不需要传递参数,也不需要返回参数 我们知道启动一个线程最直观的办法是使用Thread类,具体步骤如下:ThreadStart threadStart=new ThreadStart(Calculate);Thread thread=new
2009-07-21 14:01:00 1761
转载 关于阶乘的两个常见算法及一个相关面试题
阶乘的定义 阶乘是数学中的一个术语。对于一个非负整数n,n的阶乘指的是所有小于等于n的正整数的乘积,记为n!。例如, 符号n!是由Christian Kramp(1760 – 1826)于1808年引入的。 阶乘的严格定义为: 并且0!=1,因为阶乘是针对所有的非负整数。 后者基于一个事实:0个数的乘积为1。这个是很有用的: 递归关系 适用于n = 0的情况; 这个定义使得组合学(combi
2009-07-20 14:29:00 1237
windowresize
2013-03-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人