您的位置:首页 > 其它

从项目外包的角度出发,分析为什么要有委托,异步,多线程,事件,委托多播这些概念,之间怎么联系

2009-02-05 00:45 423 查看
为什么要有委托,异步,多线程,事件,委托多播这些概念,之间怎么联系。看了这个你就可以明白了。

我做一个项目,我做这个项目的进度,还有做完的结果都得广而告之。

我们来关注这个项目的效率

最简单的,我自己做,自己报告进度,自己报告结果。但是什么事情都是一个人做,这样是很慢的。

所以现在有个很有名的词,叫项目外包。

外包其实就是找个代理人,让这个代理人帮你做事情的意思。

那么我把我要做的事情委托出去,就要找个委托人。

社会中一个新的职业阶层出来从来都不是这么简单的。

现在出来了委托人(做外包的)。那么对委托人的管理,委托人的功能接口,委托人的工作进度,委托人的不同等级导致出来很多不同的概念。

比如有些委托人很初级,是毕业生。很多事情能做,但是你得看着。(同步委托)

这些初级的委托人,因为刚毕业有很多棱角,虽然也给你办事情,但是喜欢搞个自己的标签。(自己的返回值和参数)

初级委托人还有分类,最最初级的把任务还不能完全交给他,得看着。所以这个就是同步。虽然事情不用自己做了,但是还得看着,我不能走开了。

有些初级委托人还好一点,把任务接口按他的要求定义好后,交给它,它自己就能做了。这就是异步的意思,MyDelegate.BeginInvoke,做完之后兴许还给我一报告。用回调函数IAsyCallback弹出这个报告来。我自己可以走开了,因为他做好后就会想办法告诉我的。

这些初级委托人还是会占用我一点点地盘的。也就是系统自己开辟的线程。

有这么多委托人怎么办,我要对他们进行管理的(统一的void返回值和EventArgs参数)。不同的委托人负责自己的工作,不能把整个项目给搞坏了,每个人都有一块。所以只能用我规定的方式来注册,+=,或者-=.事件机制,委托多播。

好像关有委托人还不够,毕竟他们在我的地盘上工作也快不了多少,虽然好一点的能交互工作后自己运行,但是还是占我们的地盘嘛。

那么怎么办,那么还有这么一类型的委托人是大公司的,比较牛,他们老板说,我们公司有经验,有自己的楼,交给我们做吧,你只管交接就可以了。所以大公司在自己的楼自己的时间里(自定义Thread)干活,当然大公司里面的委托人也有初级和不初级的,所以有时候也得看着和偶尔检查的(纯多线程/多线程异步),外包一段时间后,我发现是上他们场子上看着的外包方式是效率高的(纯多线程)。偶尔检查(多线程异步)还没那么好,因为看的时候是叫他们上我这边来检查,有时候可能我又有其他的事情什么的反而浪费他们的时间等,或者反之。总之,如果项目够大,我还是考虑直接派QC到外包场子上的方式去外包(纯多线程)。小项目,可能就那么几天,在我楼里做也无所(异步)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐