摘要: 文中所有Task<TResult>的返回值都是直接用task.result获取,这样如果后台任务没有执行完毕的话,主线程会等待其执行完毕,这样的话就和同步一样了(看上去一样,但其实await的时候并不会造成线程的阻塞,web程序感觉不到,但是wpf,winform这样的桌面程序若不使用异步,会造成U 阅读全文
posted @ 2017-08-25 22:13 卖雨伞的小男孩 阅读(8674) 评论(0) 推荐(0) 编辑
摘要: Parallel是循环中开启多线程 循环List<T> 阅读全文
posted @ 2017-08-25 22:07 卖雨伞的小男孩 阅读(656) 评论(0) 推荐(0) 编辑
摘要: Task是.NET4.0加入的,跟线程池ThreadPool的功能类似,用Task开启新任务时,会从线程池中调用线程,而Thread每次实例化都会创建一个新的线程。 我们可以说Task是一种基于任务的编程模型。它与thread的主要区别是,它更加方便对线程进程调度和获取线程的执行结果。 Task类和 阅读全文
posted @ 2017-08-25 21:26 卖雨伞的小男孩 阅读(8385) 评论(0) 推荐(0) 编辑
摘要: Semaphore负责协调线程,可以限制对某一资源访问的线程数量 这里对SemaphoreSlim类的用法做一个简单的例子: 可以看到,刚开始只有三个线程在执行,当一个线程执行完毕并释放之后,才会有新的线程来执行方法! 阅读全文
posted @ 2017-08-25 20:58 卖雨伞的小男孩 阅读(394) 评论(0) 推荐(0) 编辑
摘要: WPF中使用Console.Write函数来打印信息是没有意义的,因为并没有给其输出字符的窗口。对于桌面程序来说,这是十分合理的,然而有时为了方便调试,在程序编写过程中打印出信息给程序员看还是必要的,利用Windows的API,在DEBUG的时候打开一个控制台窗口以供信息打印显示。 创建一个管理类 阅读全文
posted @ 2017-08-25 20:11 卖雨伞的小男孩 阅读(1895) 评论(0) 推荐(0) 编辑
摘要: 1.登录http://zxingnet.codeplex.com/,下载对应.net版本的zxing库 2.引入zxing.dll 3.新建界面控件 注意,二维码是有容量的,最多635个汉字;2685个字符。 阅读全文
posted @ 2017-08-25 19:21 卖雨伞的小男孩 阅读(638) 评论(0) 推荐(0) 编辑