C++11一个重要的特性就是对多线程的支持。 何谓并发 计算机领域的并发指的是在单个系统里同时执行多个独立的任务,而非顺序的进行一些活动。 并发的两种方式: 1.多核处理器,每个任务在自己核心上执行,称为硬件并发,机器能够真正的并行多个任务; 2.单核机器,通过多任务操作系统的切换功能,同时运行多个程序。机器只能在某一时刻执行一个任务,不过它每秒可以执行多次任务切换。因为任务切换的很快,以至于无法感觉任务在何时被暂时挂起,而切换到另一任务,如今仍然称这样的系统为并发, 关系:当应用在多任务切换的环境下和真正并发的环境下执行相比,行为还是有区别的。任务切换在多核处理器上仍然适用。 并发的途径 1.多进程并发——有多个 单线程的 进程 2.多线程并发——单个进程运行多个进程 为什么使用并发 1.为了分离关注点 把不同的关注点分离开来,是处理复杂性的一个原则。通过将相关的代码与无关的代码分离,可使程序更容易理解和测试;同时可使每个线程的逻辑变的更加简单。 2.为了性能 两种方式利用并发提升性能: 继续阅读 >>


杜肖孟 17/03/27 22:35:15
这些都是基础知识,不过有必要做深入了解。先简单介绍一下。 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择, 都纪录下来。当下次你再光临同一个网站,WEB 服务器会先看看有没有它上次留下的 Cookie 资料,有的话,就会依据 Cookie 里的内容来判断使用者,送出特定的网页内容给你。 Cookie 的使用很普遍,许多有提供个人化服务的网站,都是利用 Cookie 来辨认使用者,以方便送出使用者量身定做的内容,像是 Web 接口的免费 email 网站,都要用到 Cookie。 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。 同时我们也看到,由于采用服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制 来达到保存标识的目的,但实际上它还有其他选择。 cookie机制。正统的cookie分发是通过扩展HTTP协议来实现的,服务器通过在HTTP 继续阅读 >>


楚东方 17/03/27 18:09:01
考研去了,博客停更~~ 作者:Dextrad_ihacker 发表于2017/3/27 11:47:08 原文链接 阅读:5 评论:0 查看评论 继续阅读 >>


杜仑 17/03/27 11:47:08
结论如题。 解释如下: 先看代码: #include <iostream> #include <cstdlib> #include <string> using namespace std; class People{ private: string m_strName; public: People(){} People(string _name){ cout << "make init"<< endl;//构造初始化 m_strName = _name; } People(People &p){ cout << "copy init" << endl;//拷贝初始化 m_strName = p.m_strName; } People& operator = (const People &p) { 继续阅读 >>


朱紫钰 17/03/27 11:15:42
在网络爬虫中我们经常需要设置一些头部信息,是我们进行网页抓取的行为更加像浏览器的行为,并且我们有时需要将头部信息设置正确,才能得到正确的数据,要不然有可能得到和浏览器所展示的页面有出入的信息。 设置头部还可以进行模拟登录,我们可以设置cookie,来得到登录后的页面,有些时候一些网站需要进行登录才能进行一些操作,并且有可能登录后的网站和没有进行登录的所产生的数据有所不同,这个时候我们就有必要添加头部cookie,进行模拟登录了。 设置头部进行模拟登录 代码如下: import org.apache.http.Header; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpCli 继续阅读 >>


董恒毅 17/03/26 23:44:56
1. 前几天,我在读一本C语言教材,有一道例题:   #include <stdio.h>   void main(void){     int num=9; /* num是整型变量,设为9 */     float* pFloat=&num; /* pFloat表示num的内存地址,但是设为浮点数 */     printf("num的值为:%d\n",num); /* 显示num的整型值 */     printf("*pFloat的值为:%f\n",*pFloat); /* 显示num的浮点值 */     *pFloat=9.0; /* 将num的值改为浮点数 */     printf("num的值为:%d\n",num); /* 显示num的整型值 */     printf(" 继续阅读 >>


闫钰晨 17/03/26 22:26:28
觉得自己是时候该沉淀了。。。说起来,自学Java网络爬虫也有两个月了,期间走了很多弯路,我也不仅对Java和Python这两们同样都能搞爬虫的语言但与之相关的文档与书籍的差别感到惊讶,对于Java来说,目前我知道的有关介绍Java网络爬虫这方面的书籍只有《自己动手写网络爬虫》,对于其中的内容,我觉得是晦涩难懂,不适合入门,并且内容相对来说感觉有点过时,我觉得我必须开个博客专栏,对于之后想要入门Java网络爬虫的兄弟姐妹们,好减少一点他们在学习途中的迷茫,我期间是迷茫了好几次,但最终还是坚持下来了。对于Java和Python来说,很多人刚开始都不知道该选择哪门语言,在此我也不多做评价,有需要的请百度,或知乎。我选择Java的原因有两个,其一我正在学习Java语言,想将它运用的熟练一点,其二,他可以做大数据处理~~ 好了,不扯了,直接给兄弟姐们上干货。(本专栏基本可以入门Java网络爬虫,对于一般性网络爬虫的需求是足够了,我也还在学习之中~~) 请求URL返回响应 在这里我先说一下,对于一般需求性的网络爬虫来说,使用HttpClient请求页面,使用 继续阅读 >>


董恒毅 17/03/26 21:55:26
1. 什么是正则表达式? (1)正则表达式由普通字符和元字符组成,通过此模式,用来匹配特定的内容。 (2)普通字符:包括大小写字母、数字。 (3)元字符:是一些特殊字符,这些字符并不表示字面上的含义,而会被解释为一些特定的含义。 (4)正则表达式区分大小写。 2.元字符 (1)匹配字符 .: 匹配任意单个字符 []: 匹配指定范围内的任意单个字符 [0-9]: 数字 [a-z]: 小写字母 [A-Z]: 大写字母 [^ ]: 匹配指定范围外的任意单个字符(出现在[]中的^代表排除) (2)匹配次数 *: 匹配前面的一个字符任意次,包括0次 +: 匹配其前面的字符1次或多次 ?: 匹配其前面的字符1次或0次 {m, n}: 匹配其前面的字符至少m次,至多n次。 (3)匹配位置 ^:行首 $:行尾 ( ):分组, 作为一个整体,\1引用第一个小括号内匹配的内容,以此类推\2, \3 A|B:A整体 或者 B整体 (4)特殊符号 \d 匹配任何数字 \D 匹配非数字字符 \w 匹配字母、数字与下划线 \W 匹 继续阅读 >>


何攀 17/03/26 00:11:36
IP协议是TCP/IP协议族的动力,它为上层协议提供无状态、无连接、不可靠的服务。 优点:简单,高效。 无状态指:IP通信双方不同步传输数据的状态信息,所有的IP数据报的传输都是独立的。所以容易发生重复和乱序的情况并且IP层不予处理。 然后将这些乱序的交给上层传输层(TCP/UDP等)来处理,将其处理成有序的,正确的。再交给应用层。 不可靠指:IP协议不能保证IP数据报准确到达。所以它提供ICMP报文来辅助,一旦检测到IP数据报发送失败,通知上层协议。 IP头部信息: 头部长度:通常20字节,有选项时更长,总共不超过60字节。 IP数据报长度:65535字节。 逐个分析: 4位版本号:IP协议(IPv4)版本号位4 4位头部长度:标识头部有多少个4字节,即最大共15*4个字节 8位服务类型:包含一个4位优先权字段:最小延时,最大吞吐量,最高可靠性和最小费用。 16位总长度:表示整个IP数据报的长度,最大表示65535,但由于MTU限制,一般无法到达这个值。 16位标识:唯一的标识数据报。系统采用加1的式边发送边赋值。 3位标识(保留 继续阅读 >>


卢晓丹 17/03/25 19:47:17
1. wps文字不能输入中文解决 sudo vim /usr/bin/wps 然后添加如下两条语句: export XMODIFIERS="@im=fcitx" export QT_IM_MODULE="fcitx" 2. ppt演示不能输入中文解决 sudo vim /usr/bin/wpp 然后添加如下两条语句: export XMODIFIERS="@im=fcitx" export QT_IM_MODULE="fcitx" 3. excel表格不能输入中文解决 sudo vim /usr/bin/et 然后添加如下两条语句: export XMODIFIERS="@im=fcitx" export QT_IM_MODULE="fcitx" 4. WebStorm软件不能输入中文解决 找到WebStorm的解压目录, 然后 cd WebStorm-163.7743.51/bin/ 然后编辑WebStorm启动脚本 vim webstorm.sh 之后同样添加如下两条语句: export XMODIFIERS="@i 继续阅读 >>


何攀 17/03/24 22:59:35