摘要: 如何控制好多个线程相互之间的联系,不产生冲突和重复,这需要用到互斥对象,即:System.Threading 命名空间中的 Mutex 类。我们可以把Mutex看作一个出租车,乘客看作线程。乘客首先等车,然后上车,最后下车。当一个乘客在车上时,其他乘客就只有等他下车以后才可以上车。而线程与Mutex... 阅读全文
posted @ 2015-03-20 17:21 Ke.Saga 阅读(97) 评论(0) 推荐(0) 编辑
摘要: Timer类:设置一个定时器,定时执行用户指定的函数。 定时器启动后,系统将自动建立一个新的线程,执行用户指定的函数。初始化一个Timer对象:Timer timer = new Timer(timerDelegate, s,1000, 1000);// 第一个参数:指定了TimerCallback... 阅读全文
posted @ 2015-03-20 17:20 Ke.Saga 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 在多线程的程序中,经常会出现两种情况:一种情况: 应用程序中,线程把大部分的时间花费在等待状态,等待某个事件发生,然后才能给予响应 这一般使用ThreadPool(线程池)来解决;另一种情况:线程平时都处于休眠状态,只是周期性地被唤醒 这一般使用Timer(定时器)来解决;ThreadPool类... 阅读全文
posted @ 2015-03-20 17:08 Ke.Saga 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 前面说过,每个线程都有自己的资源,但是代码区是共享的,即每个线程都可以执行相同的函数。这可能带来的问题就是几个线程同时执行一个函数,导致数据的混乱,产生不可预料的结果,因此我们必须避免这种情况的发生。C#提供了一个关键字lock,它可以把一段代码定义为互斥段(critical section),互斥... 阅读全文
posted @ 2015-03-20 16:52 Ke.Saga 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 下面我们就动手来创建一个线程,使用Thread类创建线程时,只需提供线程入口即可。(线程入口使程序知道该让这个线程干什么事)在C#中,线程入口是通过ThreadStart代理(delegate)来提供的,你可以把ThreadStart理解为一个函数指针,指向线程要执行的函数,当调用Thread.St... 阅读全文
posted @ 2015-03-20 16:51 Ke.Saga 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 什么是进程?当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。 而一个进程又是由多个线程所组成的。什么是线程? 线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。什么是多线程? 多... 阅读全文
posted @ 2015-03-20 16:50 Ke.Saga 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 声明:本文最初是本人从他出转载到51CTO上的一篇文章,但现在记不清最初从出处了,原文作者看到还请原来,现在发表在这里只为学习,本人在51CTO的该文章的地址为:http://kestrelsaga.blog.51cto.com/3015222/751536一、 new运算符① 用于创建对象和调用构... 阅读全文
posted @ 2015-03-20 16:44 Ke.Saga 阅读(600) 评论(0) 推荐(0) 编辑
摘要: 声明:本文最初是本人写在51CTO的一篇学习笔记,原文地址:http://kestrelsaga.blog.51cto.com/3015222/612118反射的作用:1. 可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型;2. 应用程序需要在运行时从某个特定的程序集中... 阅读全文
posted @ 2015-03-20 16:40 Ke.Saga 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 最近用到了ref和out关键字,对于其概念有些遗忘,就又参考MSDN的资料学习了一下,下面是我参考MSDN整理出来的两者的简单介绍及比较: 阅读全文
posted @ 2015-03-20 16:30 Ke.Saga 阅读(388) 评论(0) 推荐(1) 编辑
摘要: 最近做了一个小工具,其中用到了WPF中的TextBox控件。对于这个控件的使用,其中主要的一个功能是需要选择指定的行,并将其显示在控件可见区域的视图中(如果不在可视区域时,需要控件自动滚动到改行)。在我使用时,发现一个问题,如果当我先将指定的行滚动至视图中,然后在将其选中,则经常会不稳定,有时能定位并选中,有时则会选中错误位置,或者报错。 阅读全文
posted @ 2015-03-20 16:17 Ke.Saga 阅读(2923) 评论(1) 推荐(3) 编辑