会员
周边
众包
新闻
博问
闪存
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
DotNet菜园
专注所以专业,专业所以专注
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
6
7
8
9
10
11
12
13
14
···
19
下一页
2017年12月21日
多线程编程学习笔记——async和await(二)
摘要: 本示例学习如何阅读有多个await方法方法时,程序的实际流程是怎么样的,理解await的异步调用 。
阅读全文
posted @ 2017-12-21 14:49 DotNet菜园
阅读(1884)
评论(1)
推荐(3)
2017年12月18日
多线程编程学习笔记——async和await(一)
摘要: 通过前面的文章,已经学习了怎么使用线程,怎么使用线程同步,怎么使用线程池,怎么使用任务并行库。尽管通过上面的学习,对于线程的使用越来越简单。有没有更简单的方法呢。 C# 5.0之后,微软在c#语言中添加了两个关键字async与await,这是在TPL上面的更高一级的抽象,真正简化了异步编程的编程方式,从而有助于我们编写出真正健壮少bug的异步应用程序。
阅读全文
posted @ 2017-12-18 15:38 DotNet菜园
阅读(3659)
评论(1)
推荐(2)
2017年12月11日
多线程编程学习笔记——任务并行库(四)
摘要: 我们学习任务调度程序,通过异步代码与UI进行交互。所以本示例是创建Windows应用程序。 taskScheduler是负责如何执行任务,默认情况下是把task放入线程池中的工作线程中。
阅读全文
posted @ 2017-12-11 16:07 DotNet菜园
阅读(1641)
评论(1)
推荐(2)
2017年12月6日
多线程编程学习笔记——任务并行库(三)
摘要: 本示例学习如何实现基于Task的异步操作进行取消流程,以及在任务真正运行前如何知道任务已经被取消。 我们学习如何在task中抛出不同情况的异常,以及如何获取这些异常信息。
阅读全文
posted @ 2017-12-06 16:39 DotNet菜园
阅读(1320)
评论(1)
推荐(3)
2017年12月1日
多线程编程学习笔记——任务并行库(二)
摘要: 本示例,将上一篇(多线程编程学习笔记——线程池(三))中的(使用BackgroundWorker组件示例)转为任务。 本示例是学习如何基于事件的异步转换为TASK来运行。本示例的关键是使用TaskCompletionSource
阅读全文
posted @ 2017-12-01 13:59 DotNet菜园
阅读(1603)
评论(0)
推荐(1)
2017年11月24日
多线程编程学习笔记——任务并行库(一)
摘要: 在net framework 4.0中微软又提供了一个新的异步操作的功能,叫做任务并行库(TPL)。任务并行库的核心是任务(task)。一个任务代表了一个异步操作,譔操作可以通过多种方式运行,可以使用或不使用独立的线程。 一个任务(Task)可以通过多种方式和其他任务组合起来使用。例如,可以同时开启多个任务,等待所有任务完成,再起一个任务进行操作。一个任务可以有多个其他任务组成,这些任务也可以依次拥有自己的子任务。
阅读全文
posted @ 2017-11-24 16:21 DotNet菜园
阅读(2735)
评论(4)
推荐(3)
2017年11月20日
多线程编程学习笔记——线程池(三)
摘要: 本示例主要学习如果对线程池中的操作实现超时,并在线程池中正确等待。 线程池还有一个ThreadPool.RegisterWaitForSingleObject,这个方法允许我们将回调函数放入线程池中的队列中。当提供的等待事件处理器接收到信号或发生超时时,这个回调函数将被调用,这样就实现了为线程池中操作实现超时操作。
阅读全文
posted @ 2017-11-20 09:30 DotNet菜园
阅读(1688)
评论(2)
推荐(0)
2017年11月13日
多线程编程学习笔记——线程池(二)
摘要: 如果我们要从线程池中取消某个线程的操作,应该如何实现呢?本示例使用CancellationTokenSource和CancellationToken两个类来实现在取消线程池中的操作。
阅读全文
posted @ 2017-11-13 09:45 DotNet菜园
阅读(1364)
评论(4)
推荐(0)
2017年11月8日
多线程编程学习笔记——线程池(一)
摘要: .NET中的线程池是受CLR管理的,TheadTool类有一个QueueUserWorkItem静态方法,这个静态方法接受一个委托,代表用户自定义的一个异步操作,在这个方法被调用之后,委托会进入到内部队列中,如果池中没有线程,则创建一个工作线程,把第一个委托放入工作线程。如果继续放入委托,则池创建新的工作线程,直到工作线程数量达到上限。这时再放入委托,则不会创建新的工作线程,而是在队列中等待,直到有空闲的工作线程。
阅读全文
posted @ 2017-11-08 12:05 DotNet菜园
阅读(2547)
评论(2)
推荐(3)
2017年11月3日
多线程编程学习笔记——线程同步(三)
摘要: Barrier类用于组织多个线程及时在某个时刻会面,其提供一个回调函数,每次线程调用了SignalAndWait方法后该回调函数就会被执行。
阅读全文
posted @ 2017-11-03 15:29 DotNet菜园
阅读(1814)
评论(0)
推荐(0)
2017年11月1日
多线程编程学习笔记——线程同步(二)
摘要: 程序中,我们定义了两个AutoResetEvent实例。其中一个是从子线程往主线程发信号 ,另一个是主线程往子线程发信号。我们在构造AutoResetEvent时,传入了false,定义了这两个实例的初始状态unsignaled。这个状态下,任何线程调用这两个实例的WaitOne方法将会被阻塞,直到我们调用了Set方法。如果我们在构造的时候传入了true,则这两个实例的初始状态是singnaled,则线程调用WaitOne则会被立即处理。
阅读全文
posted @ 2017-11-01 15:08 DotNet菜园
阅读(1607)
评论(0)
推荐(4)
2017年10月27日
多线程编程学习笔记——线程同步(一)
摘要: 多线程使用共享变量,就会涉及到一个线程同步的问题。那如何解决呢? 1) 重构程序,移除多线程的共享变量,让一个线程只访问一个自有变量 2) 使用原子操作,一个操作只占用一个量子时间,一次完成,只有当当前操作完成之后,其他线程才能进行操作。这样可以避免使用独占锁,避免死锁。 3) 通过NET构架提供的Mutex、AutoRestEvent、CountDownEven、SpinWait等类,来进行线程间的同步。
阅读全文
posted @ 2017-10-27 16:21 DotNet菜园
阅读(2852)
评论(2)
推荐(0)
2017年10月25日
多线程编程学习笔记-基础(三)
摘要: 多线程编程学习笔记-基础
阅读全文
posted @ 2017-10-25 14:15 DotNet菜园
阅读(1725)
评论(1)
推荐(3)
2017年10月20日
多线程编程学习笔记-基础(二)
摘要: 多线程编程学习笔记
阅读全文
posted @ 2017-10-20 13:35 DotNet菜园
阅读(2146)
评论(2)
推荐(2)
2017年10月19日
多线程编程学习笔记-基础(一)
摘要: 多线程编程学习笔记
阅读全文
posted @ 2017-10-19 16:04 DotNet菜园
阅读(3632)
评论(5)
推荐(1)
2017年9月7日
WEB版一次选择多个图片进行批量上传(WebUploader)的解决方案
摘要: 最近在学习百度的开源上传组件WebUploader,上一篇文章,学习了批量文件上传,今天学习一下批量图片上传,实际上与文件上传很类似,只是添加了图片显示功能,这个功能WebUploader组件中已经提供了。
阅读全文
posted @ 2017-09-07 16:41 DotNet菜园
阅读(19754)
评论(4)
推荐(1)
2017年8月31日
WEB版一次选择多个文件进行批量上传(WebUploader)的解决方案
摘要: 最近在学习百度的开源上传组件WebUploader,写了一些示例以记录。WebUploader的缺点是没有一个比较好的现成的界面,这个界面需要自己去实现。自由度高了一些。使用WebUploader为核心进行文件的批量上传的解决方案。
阅读全文
posted @ 2017-08-31 15:29 DotNet菜园
阅读(32267)
评论(14)
推荐(3)
2017年3月15日
学习ASP.NET MVC(十一)——分页
摘要: 在这一篇文章中,我们将学习如何在MVC页面中实现分页的方法。分页功能是一个非常实用,常用的功能,当数据量过多的时候,必然要使用分页。在今天这篇文章中,我们学习如果在MVC页面中使用PagedList.Mvc包来实现分页功能。
阅读全文
posted @ 2017-03-15 15:56 DotNet菜园
阅读(14799)
评论(4)
推荐(9)
2017年2月28日
学习ASP.NET MVC(十)——排序
摘要: 下面我们通过一个简单的例子学习如何对书籍信息按照价格进行排序。
阅读全文
posted @ 2017-02-28 15:36 DotNet菜园
阅读(4694)
评论(0)
推荐(2)
2016年12月1日
WCF学习之旅—第三个示例之五(三十一)
摘要: 本文介绍应用程序中添加书籍的保存功能,涉及两个功能“新增”与“修改”。异常处理的小结。
阅读全文
posted @ 2016-12-01 17:13 DotNet菜园
阅读(2839)
评论(1)
推荐(5)
上一页
1
···
6
7
8
9
10
11
12
13
14
···
19
下一页
公告