高性能服务器-多线程的再次学习

首先看看何时用多线程,引用一篇文章

http://blog.csdn.net/delacroix_xu/article/details/5928121

再来详细地重新学习一遍多线程

http://www.cnblogs.com/leslies2/archive/2012/02/07/2310495.html

http://www.cnblogs.com/leslies2/archive/2012/02/08/2320914.html

学习后注意到,其实多线程最好的方式就是异步委托+回调+传参,任何一种模式都是如此,这种方式不用轮询,不用等待。

学习完毕之后,写入自己的一些补充

1:分配多线程时,要注意尽量不要出现资源争抢的现象,比如10个线程都去写一个文件或者写数据库的同一个表,虽然我们可以用锁机制避免资源争抢,但是在这种情况下多线程的意义不大。多线程最好的应用场景是每个线程所执行的任务相对独立,就算有访问同一资源的情况,也是只读的操作。

2:对于锁机制除了上面学习提到的lock,monitor,mutex外,还有更好的选择:ReaderWriterLockSlim类,它有专门的读锁和写锁。

http://www.cnblogs.com/lucifer1982/archive/2008/12/07/1349437.html

3:对于上面文章中所提到的异步Socket,其实也有更好的方式,就是SocketAsyncEventArgs,他是基于IOCP编写的。

http://msdn.microsoft.com/zh-cn/library/system.net.sockets.socketasynceventargs.aspx

 

附上多线程练习的项目

下载

 

转载于:https://www.cnblogs.com/leonbao/p/3141475.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值