2012年2月25日
摘要: 文章来自 http://lovefly.blog.51cto.com/914912/274505 看到这篇文章的解释 我大概理解了为什么需要用委托了.C#为什么多线程控制winform需要用委托?比如我新起了一个线程A,在A线程里要对winform的list控件里显示数据,我需要用一个委托函数来实现。因为winform是主线程创建的,你用另外一个线程来调用它就可能会出现两个线程同时访问同一个资源的问题,这个时候很容易出现错误,比如A线程改变窗口的颜色为红色,B线程取窗口的颜色,如果这两个线程正好碰到一起,可能A略先于B,那么就是B取出来的红色,如果略后于那么就是原来的颜色,而这和CPU的繁忙度 阅读全文
posted @ 2012-02-25 21:41 纵欲 阅读(491) 评论(0) 推荐(0) 编辑
摘要: 本代码来自 http://apps.hi.baidu.com/share/detail/5571960这段代码在我看来,只是通过定义一个线程.去改变一个文本框的值.实际上还只是做了一件事情而已. 并不是我要做的那种一边后台上传文件, 一边界面上的进度条还在滚动的效果.using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Wind 阅读全文
posted @ 2012-02-25 21:38 纵欲 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 以下资料来自红皮书的摘录,以及网络的查询。本笔记最终是为了完成c# winform程序的进度条更新功能。C#高级编程 线程一章 有用的资料摘录一 异步委托 创建线程的一种简单方式是定义一个委托,异步调用它。委托是方法的类型安全的引用。演示委托的异步特性,例子:static int TakesAWhile(int data, int ms){ Console.WriteLine("TakesAWhile started"); Thread.Sleep(ms); Console.WriteLine("TakesAWhile completed"); r... 阅读全文
posted @ 2012-02-25 14:37 纵欲 阅读(315) 评论(0) 推荐(0) 编辑