您的位置:首页 > 其它

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

2013-06-18 00:07 218 查看
首先看看何时用多线程,引用一篇文章

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

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

/article/5056436.html

/content/3979505.html

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

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

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

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

/article/5158425.html

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

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

附上多线程练习的项目

下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: