显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

曹兆领的博客

有志者事竟成,破釜沉舟,百二秦关终属楚!

 
 
 
 
 
 

阻塞、非阻塞,同步、异步

2017-5-5 13:30:56 阅读18 评论0 52017/05 May5

转自http://blog.csdn.net/hguisu/article/details/7453390

1. 概念理解

在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:

同步/异步主要针对C端: 

同步:

      所谓同步,就是在c端发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。

例如普通B/S模式(同步):提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事

异步:

      异步的概念和同步相对。当c端一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。

例如 ajax请求(异步): 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕

阻塞/非阻塞主要针对S端:

阻塞

     阻塞调用是指调用结果返回之前,当前线程会被挂起(线程进入非可执行状态,在这个状态下,cpu不会给线程分配时间片,即线程暂停运行)。函数只有在得到结果之后才会返回。

作者  | 2017-5-5 13:30:56 | 阅读(18) |评论(0) | 阅读全文>>

镜头分辨率与Sensor关系

2017-5-5 13:18:26 阅读15 评论0 52017/05 May5

目前百万像素高清摄像机已越来越多地应用于监控,有1百万像素摄像机、2百万像素摄像机、5百万像素摄像机。摄像机的像素高是图像清晰的一个方面,另一方面高像素感光元也要配以高分辨率的镜头才能使高清摄像机的能力得以体现。

  镜头分辩率

  镜头的分辩率是指在成像平面上1毫米间距内能分辨开的黑白相间的线条对数,单位是“线对/毫米”(lp/mm,line-pairs/mm)。

  镜头对黑白等宽的测试线对图并不是无限可分辨的。当黑白等宽的测试线对密度不高的时候,成像平面处黑白线条是很清晰的。当黑白等宽的测试线对密度提高时,在成像平面处还是可以分辨出黑白线条,但是白线已不是那么白了,黑线也不是那么黑了,白线黑线的对比度就会下降。当黑白等宽的测试线对密度提高到某一程度,在成像平面处黑白线的对比度非常小,黑白线条都变成了灰的中间色了,这就到了镜头分辨的极限。参见图一。

黑白等宽的测试线

  好的镜头和差的镜头的分辨率是有很大不同的。测试镜头分辨率的一种方法是将待测镜头装在一个胶片照

作者  | 2017-5-5 13:18:26 | 阅读(15) |评论(0) | 阅读全文>>

建筑工地工种

2017-2-23 10:58:49 阅读20 评论0 232017/02 Feb23

<< "质量员"<<"资料员"<<"材料员"<<"机械员"<<"劳务员"<<"标准员"<<"测量工"<<"通风工" <<"砌筑工"<<"模板工"<<"钢筋工" << "防水工"<< "抹灰工"<< "油漆工" << "管工"<< "混凝土工"<< "安装钳工"<< "电气设备安装工"<<"零工"<<"土建施工预算员" << "安装施工预算员"<<"特种作业人员";

作者  | 2017-2-23 10:58:49 | 阅读(20) |评论(0) | 阅读全文>>

焦距 光圈 焦深和景深

2017-2-7 13:45:39 阅读25 评论0 72017/02 Feb7

看到很多初学者对焦距、光圈和景深的关系搞不懂,以本人的初步认识简单介绍一下:

焦点的概念想必大家都知道了,我们先说一下弥散圆:

在焦点前后,光线开始聚集和扩散,点的影象变成模糊的,形成一个扩大的圆,这个圆就叫做弥散圆。

现实当中,观赏拍摄的影象是以某种方式(比如投影、放大成照片等等)来观察的,人的肉眼所感受到的影象与放大倍率、投影距离及观看距离有很大的关系,如果弥散圆的直径小于人眼的鉴别能力,在一定范围内实际影象产生的模糊是不能辨认的。这个不能辨认的弥散圆就称为容许弥散圆。

景深:

在焦点前后各有一个容许弥散圆,这两个弥散圆之间的距离就叫景深,即:在被摄主体(对焦点)前后,其影像仍然有一段清晰范围的,就是景深。换言之,被摄体的前后纵深,呈现在底片面的影象模糊度,都在容许弥散圆的限定范围内。

景深随镜头的焦距、光圈值、拍摄距离而变化。对于固定焦距和拍摄距离,使用光圈越小,也就是镜片的直径越小,景深越大,和镜头的通光量无关。

从焦点到近处容许弥散圆的的距离叫前景深,从焦点到远方容许弥散圆的距离叫后景深。

定焦镜头上都有景深表,不同的光圈和拍摄距离,可以直观的读出大概的景深,不知道大家有没有注意过。

作者  | 2017-2-7 13:45:39 | 阅读(25) |评论(0) | 阅读全文>>

sqlite3数据库恢复

2016-10-28 16:24:06 阅读22 评论0 282016/10 Oct28

首先去下载sqlite3的命令行工具

http://www.sqlite.org/download.html

再执行命令行命令,将你的数据库中的数据导出为sql语句文件

sqlite3 my.dbsqlite>.output tmp.sql sqlite>.dump sqlite>.quit

最后导入到一个新库中

sqlite3 mynew.db sqlite>.read tmp.sql sqlite>.quit

作者  | 2016-10-28 16:24:06 | 阅读(22) |评论(0) | 阅读全文>>

request.getParameter和request.getAttribute的区别

2016-5-21 11:11:03 阅读42 评论0 212016/05 May21

request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据。request.getParameter()方法返回String类型的数据。

request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间共享。这两个方法能够设置Object类型的共享数据。

request.getParameter()取得是通过容器的实现来取得通过类似post,get等方式传入的数据。

request.setAttribute()和getAttribute()只是在web容器内部流转,仅仅是请求处理阶段。

getAttribute是返回对象,getParameter返回字符串 总的来说:request.getAttribute()方法返回request范围内存在的对象,而request.getParameter()方法是获取http提交过来的数据。

getParameter 是用来接受用post个get方法传递过来的参数的.

getAttribute 必须先setAttribute.

(1)request.getParameter() 取得是通过容器的实现来取得通过类似post,get等方式传入的数据,request.setAttribute()和getAttribute()只是在web容器内部流转,仅仅是请求处理阶段。

作者  | 2016-5-21 11:11:03 | 阅读(42) |评论(0) | 阅读全文>>

linux top 分析

2016-4-23 16:31:25 阅读55 评论0 232016/04 Apr23

top命令经常用来监控linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解。

本文通过一个运行中的WEB服务器的top监控截图,讲述top视图中的各种数据的含义,还包括视图中各进程(任务)的字段的排序。

top进入视图

xp系统下载

音箱排名

羽毛球地胶价格

苹果解锁教程

打字练习

top视图 01

【top视图 01】是刚进入top的基本视图,我们来结合这个视图讲解各个数据的含义。

复制代码代码如下:

第一行:

10:01:23 — 当前系统时间

126 days, 14:29 — 系统已经运行了126天14小时29分钟(在这期间没有重启过)

2 users — 当前有2个用户登录系统

load average: 1.15, 1.42, 1.44 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。

load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

复制代码代码如下:

作者  | 2016-4-23 16:31:25 | 阅读(55) |评论(0) | 阅读全文>>

excel日期转文本

2016-4-13 16:59:28 阅读43 评论0 132016/04 Apr13

有时在用excel处理数据时需要将日期格式,如“2008年7月18日”或“2008-7-18”的日期格式转换成“20080718”的8位文本格式,下面介绍一个简单方法,可以达到以上目的。

步骤一:完成第一个单元格的初步转换

在源日期列右侧插入一列,准备放置转换后的文本格式日期。然后在第一个日期对应的单元格输入公式“=text(A2,"yyyy-mm-dd")”

注:如果日期中还包含时、分、秒,则公式可改成“=text(A2,"yyyymmddhhmmss")”。其中的文本格式可以按自己的要求灵活运用,如“yymmdd h:m:s”表示只要年份的后两位、时间中用冒号将时分秒隔开并且不满两位时前面不加“0”。

图二  输入公式

作者  | 2016-4-13 16:59:28 | 阅读(43) |评论(0) | 阅读全文>>

Excel如何找出同一列的重复数据

2016-4-13 16:56:59 阅读49 评论0 132016/04 Apr13

例如Excel表格中如下图所示的数据。现在找出A列中的重复数据,并在备注栏标注“重复”。

在B2单元格中输入公式:=IF(COUNTIF(A:A,A2)>1,"重复",""),如下图所示。

选中B2单元格,这时候右下角会有一实心小方块,双击向下填充或鼠标拖拽向下填充。

现在效果如下图所示。

知道了哪些数据是重复的,可以通过排序将相同数据放在一块。在“开始”选项卡,单击“排序和筛选”,然后选择“自定义排序”。

全选后再打开“排序”对话框,设置排序的条件(默认是一个条件,可以单击“添加条件”来添加多个条件),然后单击“确定”。

这时发现重复的数据在一起了。

作者  | 2016-4-13 16:56:59 | 阅读(49) |评论(0) | 阅读全文>>

Tomcat启动报unknownHostException解决方法

2016-4-6 15:15:58 阅读34 评论0 62016/04 Apr6

1.执行 #hostname

2.在/etc/hosts中加入hostname显示主机名和IP

作者  | 2016-4-6 15:15:58 | 阅读(34) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 
 
 
 
 
 
网易云音乐 曲目表歌词秀
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 我要留言
 
 
 
留言列表加载中...
 
 
 
 
 

日历

 
 
模块内容加载中...
 
 
 
 
 

天气

 
 
模块内容加载中...
 
 
 
 
 
 
 
 

陕西省 西安市 摩羯座

 发消息  写留言

 
静以修身,俭以养德。
 
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 
 
 
心情随笔列表加载中...
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 
 
 
博友列表加载中...
 
 
 
 
 
 
 
列表加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017

注册 登录  
 加关注