性能优化中,其中一块是线程池的使用,初探线程池,从简单了解到源码分析,深入理解才能合理运用。
(一)线程池的来源及优点
单个异步任务,每次都需创建线程、销毁线程,当任务处理的时间短而请求数却巨大时,将导致资源消耗过多。
比如,数据库连接,需消耗大量资源,建立线程池能重用数据库访问线程。
使用线程池的优点:
1.降低资源消耗。重用现有线程,减少线程创建销毁开销。
2.提高...
分类:
编程语言 时间:
2014-05-24 23:19:10
阅读次数:
511
线程属性
初始化与销毁属性
int pthread_attr_init(pthread_attr_t *attr);
int pthread_attr_destroy(pthread_attr_t *attr);
获取与设置分离属性
int pthread_attr_getdetachstate(const pthread_attr_t *attr, int *detachsta...
分类:
编程语言 时间:
2014-05-24 21:49:29
阅读次数:
361
??
enum EM_DEMO
{
EM_INDEX1 = 1,
EM_INDEX2 = 2,
EM_INDEX3 = 3,
EM_INDEX4 = 4
}
//多字节
#define _TXT__(x) #x
#define EMTOSTR(EM) _TXT__(EM)
//多字节或 unicode
#define _TXT__(x)...
分类:
编程语言 时间:
2014-05-26 05:33:39
阅读次数:
849
TreeMap的实现是红黑树算法的实现,所以要了解TreeMap就必须对红黑树有一定的了解,其实这篇博文的名字叫做:根据红黑树的算法来分析TreeMap的实现,但是为了与Java提高篇系列博文保持一致还是叫做TreeMap比较好。通过这篇博文你可以获得如下知识点: 1、红黑树的基本概念。 2、红黑树增加节点、删除节点的实现过程。 3、红黑树左旋转、右旋转的复杂过...
分类:
编程语言 时间:
2014-05-25 01:00:06
阅读次数:
382
CRTOS 实时可剥夺型内核
1.任务不用预加载,不用预定义。任务调用时加载,可删除(退出死循环即可)
2.单位轮转查询时间由晶振和定时器初始化决定。在这里为10ms
3.定时时间为【 time*单位轮转查询时间 】 ,其中time为 rtos_wait(time)中time.
4.可运行多个任务【自定义】
5.任务从rtos_wait()处切换,在定时时间到后从定时中断中切换回来,任务执行后,回到中断,再从中断回到主程序。...
分类:
编程语言 时间:
2014-05-26 03:59:52
阅读次数:
323
java开源框架SpringSide 3.1.4.3开发Web的demo项目实战,代码下载地址:http://www.zuidaima.com/share/1781596496120832.htm...
分类:
编程语言 时间:
2014-05-24 19:42:50
阅读次数:
313
说明
本实例能够监控聚划算的抢购按钮,在聚划算整点聚的时间到达时发出提醒(音频文件自己定义位置)并自动弹开页面(URL自己定义)。
同时还可以通过命令行参数自定义刷新间隔时间(默认0.1s)和监控持续时间(默认1800s)。
源码
# encoding: utf-8
'''
@author: Techzero
@email: techzero@163.com
@time: 2014-5-1...
分类:
编程语言 时间:
2014-05-26 04:14:41
阅读次数:
381
Servlet3.0 特性解析并附demo 代码。
1.Servlet、Filter、Listener无需在web.xml中进行配置,可以通过Annotation进行配置;
2.模块化编程,即将各个Servlet模块化,将配置文件也分开配置。
3.Servlet异步处理,应对复杂业务处理;
4.异步Listener,对于异步处理的创建、完成等进行监听;
5. 文件上传API简化;...
分类:
编程语言 时间:
2014-05-26 05:28:55
阅读次数:
396
#!/usr/bin/python
# -*- coding: utf-8 -*-
#6–5. 字符串
# (a)更新你在练习2-7 里面的方案,使之可以每次向前向后都显示一个字符串的一个字符.
# (b)通过扫描来判断两个字符串是否匹配(不能使用比较操作符或者cmp()内建函数)。
# 附加题:在你的方案里加入大小写区分.
# (c)判断一个字符串是否重现(后面跟...
分类:
编程语言 时间:
2014-05-26 05:45:39
阅读次数:
420
char carr[] = "author:CSDN-iaccepted";
此时,carr数组中元素的个数为21,最后一个位置用来存放空字符'\0'。
所以如果写成carr[21] = "author:CSDN-iaccepted";就是错误的。
int clen = strlen(carr);
int size = sizeof(carr);
这时候得到的clen =...
分类:
编程语言 时间:
2014-05-24 23:05:56
阅读次数:
304
java的 rmi远程调用给分布式编程带来极大的方便,在使用rmi过程中eclipse开发平台会提示一些错误,可能是因为遗漏了需要注意的地方。...
分类:
编程语言 时间:
2014-05-26 05:01:59
阅读次数:
263
package com.codeconch.util;
import java.lang.instrument.Instrumentation;
public class Monitor {
private static Instrumentation instrumentation;
public static void premain(String args, Instrum...
分类:
编程语言 时间:
2014-05-24 21:39:23
阅读次数:
356
PS:硬说原创 我只能说自己太不要脸了 就当是个搬运工吧 希望对您有帮助
先来看看基础的---重头戏在后面:
yield的英文单词意思是生产,刚接触Python的时候感到非常困惑,一直没弄明白yield的用法。
只是粗略的知道yield可以用来为一个函数返回值塞数据,比如下面的例子:
def addlist(alist):
for ...
分类:
编程语言 时间:
2014-05-24 23:44:49
阅读次数:
621
Dreamweaver CS5 CS6 代码格式化、美化插件(可同时格式化HTML、JavaScript、CSS )目前最好用的代码格式化扩展。
众所周知,Dreamweaver CS5 CS6 自带的“应用源格式”只能单独格式化HTML文件和CSS文件,不能格式化JavaScript文件,更不能同时格式化内嵌在HTML代码里的javascript代码,此插件就是为了替代自带的代码格式化工具而出现的。...
分类:
编程语言 时间:
2014-05-26 05:57:12
阅读次数:
283
PS:接上一篇 本文摘自OSchina Linuxqueen
不幸的是,这样做看上去似乎不太可能。即使是我们有神奇的函数,可以让我们从n遍历到无限大,我们也会在返回第一个值之后卡住:
1
def get_primes(start):
2
for element in magical_infinite_ra...
分类:
编程语言 时间:
2014-05-26 04:07:40
阅读次数:
366
说明
本实例能够监控聚划算的抢购按钮,在聚划算整点聚的时间到达时自动弹开页面(URL自己定义)。
可以自定义监控持续分钟数,同时还可以通过多线程加快刷新速度。
源码
package com.itechzero.pricemonitor;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import ja...
分类:
编程语言 时间:
2014-05-24 22:24:26
阅读次数:
668