08 2018 档案

摘要:熟悉基于TCP协议进行linux高性能、高并发服务端编程的朋友肯定应该知道每个文件描述符及其所占的资源对并发量的影响。在这种7*24甚至*365不间断运行的服务器上,一个描述符被浪费,两个被浪费...如果被浪费的多了,那还何谈高并发,高性能。除去文件描述被正常占用的情况外,是什么导致了我们可用的文件 阅读全文
posted @ 2018-08-27 08:40 慢慢走向架构师 阅读(762) 评论(0) 推荐(0)
摘要:。 阅读全文
posted @ 2018-08-12 20:58 慢慢走向架构师 阅读(178) 评论(0) 推荐(0)
摘要:使用ThreadPool发起一次异步的、受计算限制的操作是非常简单的,但是没有一个机制在任务结束后获得一个返回值,为了克服这些问题,微软引入了任务(task)的概念。创建Task的方式总是调用构造器。 重要提示:一个线程调用Wait方法时,系统检测要等待的Task是否已经开始执行,如果是,调用wai 阅读全文
posted @ 2018-08-12 20:50 慢慢走向架构师 阅读(965) 评论(0) 推荐(0)
摘要:对于长时间运行的计算限制操作来说,支持取消是一件很有用的特性。 为了取消一个操作,首先必须创建一个System.Threading.CancellationTokenSource对象 public sealed class CancellationTokenSource : IDisposable 阅读全文
posted @ 2018-08-12 17:31 慢慢走向架构师 阅读(234) 评论(0) 推荐(0)
摘要:每CLR一个线程池:这个线程池由CLR控制的所有APPDomain共享。如果一个进程中加载了多个CLR,那么每个CLR都有它自己的线程池。CLR初始化时,线程池中是没有线程的,在内部,线程池维护一个操作请求队列。应用程序想执行一个异步操作时,就调用某个方法,将一个记录项(entry)追加到线程池的队 阅读全文
posted @ 2018-08-12 16:50 慢慢走向架构师 阅读(452) 评论(0) 推荐(0)
摘要:使用线程有以下三方面原因 1 可以使用线程将代码同其他代码隔离 这将提高应用程序的可靠性。如果你的应用支持加载第三方的组件,那么应用程序对于健壮性的要求就会提高,使用线程将有助于满足这个需求。 比如第三方组件出错、或是崩溃后可以不影响自己的应用程序,同时,还可以再次利用线程来使用第三方组件。 2可以 阅读全文
posted @ 2018-08-12 13:02 慢慢走向架构师 阅读(540) 评论(0) 推荐(0)
摘要:概念: 进程:进程不过是一个应用程序的一个实例要使用的资源的一个即可。可以认为进程是对OS的资源的虚拟化。 线程:线程是对CPU进行虚拟化。 如果没有线程,那么假如一个进程进入了无限循环,CPU会被占用,而导致系统无法响应。 反之,如果那个进程的代码进入无限循环,与那个进程关联的代码会“冻结”,其他 阅读全文
posted @ 2018-08-07 22:12 慢慢走向架构师 阅读(144) 评论(0) 推荐(0)