IDE:Visual Studio 2008本系列教程主要包括如下内容:1. BeginInvoke和EndInvoke方法2. Thread类3.线程池4.线程同步基础5.死锁6.线程同步的7种方法7.如何在线程中访问GUI组件一 线程的概述在操作系统中一个进程至少要包含一个线程,然后,在某些时候...
分类:
其他好文 时间:
2015-05-13 21:10:59
阅读次数:
117
上周线上服务器突然出错,tomcat服务莫名其妙的无响应,查看内存和cpu,一切正常,查看nginx日志,发现一直返回499的错误码,看来是程序里面某一处出错,导致tomcat挂起。没啥好办法,线程,堆dump出来之后,重启tomcat服务,应用恢复正常。 分析了dump出来的堆之后,发现有5...
分类:
编程语言 时间:
2015-05-13 16:15:57
阅读次数:
986
importurllib2importtimeimportsocketfromdatetimeimportdatetimefromthread_poolimport*defmain():url_list={"sina":"http://www.sina.com.cn","sohu":"http://...
分类:
编程语言 时间:
2015-05-13 12:20:27
阅读次数:
182
.NetFramework的异步编程模型从本质上来说是使用线程池来完成异步的任务,异步委托、HttpWebRequest等都使用了异步模型。这里我们使用异步委托来说明异步编程模型。首先,我们来明确一下,对于多线程来说,我们需要关注哪些问题。“线程是一段执行中的代码流”,从这句话中,我们可以关注这段代...
分类:
编程语言 时间:
2015-05-13 06:08:00
阅读次数:
152
原文网址:http://blog.csdn.net/undoner/article/details/12849661在这篇文章里,我们首先阐述什么是同步,不同步有什么问题,然后讨论可以采取哪些措施控制同步,接下来我们会仿照回顾网络通信时那样,构建一个服务器端的“线程池”,JDK为我们提供了一个很大的...
分类:
编程语言 时间:
2015-05-11 23:38:15
阅读次数:
208
前面的分析到,请求最终被封装成了一个SocketProcessor对象,放在Executors线程池中去执行。这些都还只是在tomcat内部的socket的处理层面上,那请求最终是如何被转到开发人员所写的servlet上的?
NioEndpoint.SocketProcessor所做的工作在私有方法doRun中
if (handshake ==
0)...
分类:
其他好文 时间:
2015-05-11 22:00:03
阅读次数:
239
/**
字符流的缓冲区
缓冲区的出现,提高了对数据的读写效率
对应的类:
BufferedWriter
BufferedReader
缓冲区要结合流才可以使用
缓冲区是在流的基础上对流的功能进行增强
软件的优化可以分为:设计优化和性能优化
设计优化:对代码进行重构,让代码实现更强的可扩展性和灵活性,复用性。
提高性能最常用的的手段是:缓冲区 线程池
Bu...
分类:
编程语言 时间:
2015-05-11 13:07:53
阅读次数:
226
#include #include #include usingnamespaceboost;usingnamespacestd;voidrunChild(constintn){ cout g++ threadgroup.cc -lboost_thread> ./a.out 3如果在freebsd4...
分类:
编程语言 时间:
2015-05-11 12:32:56
阅读次数:
101
threadpool是基于boost库实现的一个线程池子库,但线程池实现起来不是很复杂。我们从threadpool中又能学到什么东西呢?它是基于boost库实现的,如果大家对boost库有兴趣,看看一个简单的实现还是可以学到点东西的。threadpool基本功能1、任务封装,包括普通任务(task_...
分类:
其他好文 时间:
2015-05-11 12:28:06
阅读次数:
202
xl_blocking_queue.h?123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354#ifndef SRC_COMMON_BLOCKING_QUE...
分类:
编程语言 时间:
2015-05-11 12:27:24
阅读次数:
157