四.多线程的自动管理(线程池) 在多线程的程序中,经常会出现两种情况: 一种情况: 应用程序中,线程把大部分的时间花费在等待状态,等待某个事件发生,然后才能给予响应 这一般使用ThreadPool(线程池)来解决: 另一种情况:线程平时都处于休眠状态,只是周期性地被唤醒 这一般使用Timer(定时器)来解决: ThreadPool类提供一个由系统维护的线程池(可以看作一个线程的容器),该容器需要 Windows 2000 以上系统支持,因为其中某些方法调用了只有高版本的Windows才有的API…
以下代码使用平台是Windows7 64bits+VS2012. sizeof作用于基本数据类型,在特定的平台和特定的编译中,结果是确定的,如果使用sizeof计算构造类型:结构体.联合体和类的大小时,情况稍微复杂一下. 1.sizeof计算结构体 考察如下代码: struct S1 { char c; int i; }; cout<<"sizeof(S1)="<<sizeof(S1)<<endl; sizeof(S1)结果是8,并不是想象中的siz…
以下代码使用平台是Windows7 64bits+VS2012. sizeof是C/C++中的一个操作符(operator),其作用就是返回一个对象或者类型所占的内存字节数,使用频繁,有必须对齐有个全面的了解. 1.sizeof的基本语法 sizeof有三种语法形式,如下: (1)sizeof( object ); // sizeof( 对象 ); (2) sizeof( type_name ); // sizeof( 类型 ); (3)sizeof object; // sizeof 对象;…
C语言中结构体作为函数参数,有两种方式:传值和传址. 1.传值时结构体参数会被拷贝一份,在函数体内修改结构体参数成员的值实际上是修改调用参数的一个临时拷贝的成员的值,这不会影响到调用参数.在这种情况下,涉及到结构体参数的拷贝,程序空间及时间效率都会受到影响. 例子: typedef struct tagSTUDENT{ char name[20]; int age; }STUDENT; void fun(STUDENT stu) { printf("stu.name=%s,stu.age=%d/…
简单总结: 1.JS是一门前端语言. 2.Ajax是一门技术,它提供了异步更新的机制,使用客户端与服务器间交换数据而非整个页面文档,实现页面的局部更新. 3.jQuery是一个框架,它对JS进行了封装,使其更方便使用.jQuery使得JS与Ajax的使用更方便 详细情况: Actually only one of them is a programming language. Javascript is a programming language which is used mainly in…
编程是非常酷的一件事情,但是在酷炫的背后它对很多人来说还是挺难的.很多人在学习编程之初就被困难击败了. 当你不熟悉编程的时候,你可能会觉得无从下手,并且不知道如何运用学到的知识.只要你通过了这一困难的学习阶段,你就会发现一个全新的世界. 以下是一些能够帮助你快速提高编程技巧的建议. 1.  多写代码 学习某件事情最好的办法就是练习.你应该花大量时间去构建和编写代码除非你认为练习对你的帮助不大.你可以从写一些基础知识相关的简单程序开始. 2.  参与不同类型的项目 当你对某种开发语言非常熟悉之后,…
业务情景:有这样一张表:其中Id列为表主键,Name为用户名,State为记录的状态值,Note为状态的说明,方便阅读. 需求描述:需要查询出这样的结果:某个人某种状态的记录数,如:张三,待审核记录数,审核中记录数,审核通过记录数:大概像这样: 解决方案: 1.建表和初始化测试数据: --1.建表语句 CREATE TABLE [dbo].[Content] ( [Id] [int] NULL, [Name] [nvarchar](50) NULL, [State] [int] NULL, [N…
海量请求,高性能服务器. 对比Apache, Apache:稳定,开源,跨平台,重量级,不支持高度并发的web服务器. 由此,出现了Lighttpd与Nignx:轻量级,高性能. 发音:engine X C语言开发,代码开源,2-clause BSD-like license 基于事件驱动的架构--能够并发处理百万级别的TCP链接. 高度模块化的设计+自由的许可证--第三方模块层出不穷,极佳的稳定性. 腾讯,新浪,阿里,淘宝等 跨平台,Linux,FreeBSD,Solaris,AIX,Mac…
HTML页面代码 <div> <h1>Click</h1> <button class="add">Click me to add new item</button> <ul class="li"> <li>I am old item.<button class="delete">Delete</button></li> <…
更详细的内容请参考:http://www.w3school.com.cn/tags/tag_a.asp HTML中的代码如下: <a class="news_title" target="_blank"></a> 可以通过以下方式来改变其默认的显示样式: .news_title {         font: normal 18px/28px "Microsoft YaHei";         font-size: 15…
在javascript中,可以为某个元素指定事件,指定的方式有以下三种: 1.在html中,使用onclick属性 2.在javascript中,使用onclick属性 3.在javascipt中,使用addEvenListener()方法 三种方法的比较 (1)在第二.三种方法中,可以向函数传入一个event对象,并读取其相应属性,而方法一不可以. (2)首选第二.三种,第一种不利于将内容与事件分离,也不能使用event对象的相关内容. 一些语法细节 (1)在第一种方法中,onclick大小写…
1.     概述与概念 C#支持通过多线程并行地执行代码,一个线程有它独立的执行路径,能够与其它的线程同时地运行.一个C#程序开始于一个单线程,这个单线程是被CLR和操作系统(也称为"主线程")自动创建的,并具有多线程创建额外的线程.这里的一个简单的例子及其输出: 除非被指定,否则所有的例子都假定以下命名空间被引用了:      using System;     using System.Threading; 1 2 3 4 5 6 7 8 9 10 11 class Thread…
文章原地址:http://blog.csdn.net/zhangxiang0125/article/details/6174639 博弈论:是二人或多人在平等的对局中各自利用对方的策略变换自己的对抗策略,达到取胜目标的理论.博弈论是研究互动决策的理论.博弈可以分析自己与对手的利弊关系,从而确立自己在博弈中的优势,因此有不少博弈理论,可以帮助对弈者分析局势,从而采取相应策略,最终达到取胜的目的. 博弈论分类:(摘自百度百科) (一)巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆…
Mahout 是一个很强大的数据挖掘工具,是一个分布式机器学习算法的集合,包括:被称为Taste的分布式协同过滤的实现.分类.聚类等.Mahout最大的优点就是基于hadoop实现,把很多以前运行于单机上的算法,转化为了MapReduce模式,这样大大提升了算法可处理的数据量和处理性能. 一.Mahout安装.配置 1.下载并解压Mahout http://archive.apache.org/dist/mahout/ tar -zxvf mahout-distribution-0.9.tar.…
一.多线程的相关概念 什么是进程? 当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源. 而一个进程又是由多个线程所组成的. 什么是线程? 线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针.程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数. 什么是多线程? 多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务. 多线程的好处: 可以提…
在多线程编程中,常常需要从主线程传递参数给子线程或在主线程中获得子线程的计算结果, 若使用全局变量实现,必然需要对临界区保护,因此导致大量的切换工作造成效率的低下: 而利用进程间的参数传递可以解决这一问题. 两个方向的参数传递: 1.主线程向子线程传递参数: 通过函数 int pthread_create(pthread_t *thread, const pthread_attr_t *attr,void *(*start_routine) (void *), void *arg); 在创建线程…
深入理解Nginx模块发开与架构解析读书笔记. nginx在启动后,在unix系统中会以daemon的方式(可以手动关闭 nginx.conf daemon off)在后台运行,后台进程包含一个master进程和多个worker进程.master进程主要用来管理worker进程,包含:接收来自外界的信号,向各worker进程发送信号,监控worker进程的运行状态,当worker进程退出后(异常情况下),会自动重新启动新的worker进程.而基本的网络事件,则是放在worker进程中来处理了.多…
************************************************************ * 标题:MS SQLServer 批量附加数据库 * 说明:请根据下面的注释使用此脚本 * 时间: 2015/7/13 11:16:41 ************************************************************/ USE MASTER GO IF OBJECT_ID('[sp_AttchDataBase]') IS NOT N…
//为了和DSP兼容,TSint64和TUint64设置成TSint40和TUint40一样的数 //结果VC中还是认为是32位的,显然不合适 //typedef signed long int     TSint64; //typedef unsigned long int   TUint64; //ANSI C中规定long long才能表示64位 //参见:http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx //可惜VC++ 6.0 …
要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识. 1. 大致了解几个基本术语(HTTPS.SSL.TLS)的含义 2. 大致了解 HTTP 和 TCP 的关系(尤其是"短连接"VS"长连接") 3. 大致了解加密算法的概念(尤其是"对称加密与非对称加密"的区别) 4. 大致了解 CA 证书的用途 考虑到很多技术菜鸟可能不了解上述背景,俺先用最简短的文字描述一下.如果你自认为不是菜鸟,请略过本章节,直接去看"HTTPS 协…
//OC: Objective-C, 面向对象的C语言 //OC与C的区别 //1.OC是C的超集, C语言的所有语法都可以在OC中使用 //2.OC是面向对象 //3.OC是一门运行时语言 //4.OC的类库丰富 NSString *string = [[NSObject alloc] init]; //string在编译时是NSString类型, 在运行时是NSObject类型 //面向对象的编程: OOP //面向对象编程的核心: 类与对象 //面向对象的三大特性: 封装, 继承, 多态…
吐槽几句,log4j的坑啊.... (1)CLASSPATH中不能有多个log4j的版本本,否则有有奇形怪状的NoSuchMethod, NoSuchFiled, NoClassDefineFound等异常.明明是太多了,还告诉你没有 (2)与slf4j的搭建,必须版本一致,如slf4j-1.7.2对应log4j-1.2.17 (3)配置文件啊,如果你引用的第三方包有log4j.properties,而又没有提供给你编辑,那恭喜你,慢慢调吧.把log4j的配置写入代码吧,不要用配置文件了 使用s…
一.决策树 决策树是用于分类和预测的主要技术之一,决策树学习是以实例为基础的归纳学习算法,它着眼于从一组无次序.无规则的实例中 推理出以决策树表示的分类规则.构造决策树的目的是找出属性和类别间的关系,用它来预测将来未知类别的记录的类别.它采用自顶向下的递归方式,在决策树的 内部节点进行属性的比较,并根据不同属性值判断从该节点向下的分支,在决策树的叶节点得到结论. 主要的决策树算法有ID3.C4.5(C5.0).CART.PUBLIC.SLIQ和SPRINT算法等.它们在选择测试属性采用的技术.生…
一.前置条件 1.操作系统准备 (1)Linux可以用作开发平台及产品平台. (2)win32只可用作开发平台,且需要cygwin的支持. 2.安装jdk 1.6或以上 3.安装ssh,并配置免密码登录. $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa  $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 注意 (1)若.ssh目录不存在,则先建立目录. (2).ssh/的权限为700,authorized_…
转自:http://blog.csdn.net/leosoft/article/details/4279536 ETL,Extraction-Transformation-Loading的缩写,中文名称为数据抽取.转换和加载. ETL负责将分布的.异构数据源中的数据如关系数据.平面数据文件等抽取到临时中间层后进行清洗.转换.集成,最后加载到数据仓库或数据集市中,成为联机分析处理.数据挖掘的基础. ETL是数据仓库中的非常重要的一环.它是承前启后的必要的一步.相对于关系数据库,数据仓库技术没有严格…
我们知道通过Sql代理,可以实现数据库的定时备份功能:当数据库里的数据库很多时,备份一个数据库需要建立对应的定时作业,相对来说比较麻烦: 还好,微软自带的osql工具,比较实用,通过在命令行里里输入命令,也能实现数据库备份的功能:如果能通过sql语句来生成一个批处理文件,那就方便了: 下面即是生成批处理文件的sql脚本,通过它可以实现:运行一个批处理文件,备份数据库服务器上的所有数据库到指定目录. 生成批量备份脚本: /**************************************…
前言: 由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现. 当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Socket通讯和本地数据库功能,又或者通过HTML5的WebSocket也可以实现与服务器的通讯和服务端推功能,但这两种方式都有其局限性,前者需要PhoneGap支持,后者要求用户设备必须支持WebSocket,因此都不能算是ST2的原生解决方案,原生的只有AJAX. 说到AJAX就会不可避免的面临两个问…
1.算法简介 1.1筛法起源 筛法是一种简单检定素数的算法.据说是古希腊的埃拉托斯特尼(Eratosthenes,约公元前274-194年)发明的,又称埃拉托斯特尼筛法(sieve of Eratosthenes). 1.2筛法过程 具体做法是:给出要筛数值的范围 n,找出 n√以内的素数p1,p2,p3,--,pk.从最小素数2去筛,即把2留下,把2的倍数剔除掉:再用下一个素数,也就是3筛,把3留下,把3的倍数剔除掉:接下去用下一个素数5筛,把5留下,把5的倍数剔除掉:不断重复下去. 2.实现…
Hiking Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 932 Accepted Submission(s): 483 Special Judge Problem Description There are n soda conveniently labeled by 1,2,-,n. beta, their best friend…
飞花的鱼塘 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 一日,飞花壕在稷下湖游玩,忽然,飞花巨有了一个养鱼的想法,于是,他大手一挥,"这片鱼塘被我承包了". 如图,鱼塘的形状为两部分(红色线条与蓝色线条所围成的部分),上半部分为开口向下的抛物线,对称轴为Y轴,抛物线与X轴的交点为A.B(A与B关于Y轴对称).下半部分为一个以线段AB为直径,以原点为圆心的一个半圆. 飞花壕买承包了这块鱼塘,可是他不知道鱼塘的面积有…