精华内容
下载资源
问答
  • 追求短期的快感,无法延时满足 无意识的追求短暂的快感,短暂的成就感,下意识的摄取一些推荐的热点爆点,爽点,不思考,不控制自己的信息摄入 不自我思考,没有自己的观点和态度,人云亦云 错位...

    负状态的几个特点:

    • 追求短期的快感,无法延时满足

    • 无意识的追求短暂的快感,短暂的成就感,下意识的摄取一些推荐的热点爆点,爽点,不思考,不控制自己的信息摄入

    • 不自我思考,没有自己的观点和态度,人云亦云

    • 错位成就感麻痹自己,往下看来寻求自我安慰

    • 遇事逃避,拖延,期望别人去解决

    • 过多的内耗,遇事处理不果断,瞻前想后不行动,顾此失彼不作为

    如何变得更好:

    精简念头,少欲则刚

    • 一次只做一件事,专注当前,专注眼下事
    • 明确自己在一个的时间范围内想要的是什么,不贪多求全
    • 定期整理不适合自己的目标和观念,排除干扰

    遇强则强,开拓视野

    • 主动结识强者,思考对方身上适合自己的优点去学习,鞭策自己
    • 敢挑战,遇到挑战主动迎击

    善用环境和自身的长处,不乱用蛮力

    • 遇事先思考自己可以整合的资源,不乱用蛮力,埋头苦干
    • 专注自身优势,以优势为核心点去经营

    不自我设限

    • 敢于尝试,不去预先设定自己的上限
    • 包容自身,包容别人

    构筑自己的底线和评价标准,知道自我肯定

    • 遇到反对的观点和评价,先思考反思,不妄自菲薄,也不妄自尊大,正视自己

     

    以始为终,不贪求当前的满足和愉悦

    • 经过思考,确立目标之后,要做的就是往那个方向持续努力,唯有当下努力,才有可期未来,而不是肯定了未来可期,才去努力当下

    做事留有planB

    • 预先思考可能发生的情况,构建自己的planB,给自己留有足够的退路

     

    展开全文
  • 很多时候,我们下载电影电视剧,或者干一些需要运行几天几夜甚至几周的程序时,不免要计算机保持开机状态很长一段时间。当自己需要睡觉,或者有事外出时,我们就可以设定关机时间,使计算机到达或者过了指定时间后...

    很多时候,我们下载电影电视剧,或者干一些需要运行几天几夜甚至几周的程序时,不免要让计算机保持开机状态很长一段时间。当自己需要睡觉,或者有事外出时,我们就可以设定关机时间,使计算机到达或者过了指定时间后,就可以自动关机,从而减小了硬件损耗。
    怎么做呢?很简单。

    • 打开你的记事本,编辑shutdown -s -t 3,并保存为bat批文件处理格式。这里的参数“3”,表示3秒后关机,可以随意修改。也可以设定到几点几分关机。
    • 保存为bat格式只要修改txt文件后缀为bat确定即可。当不显示文件后缀时,只要在计算机工具菜单下的查看选项卡下面,将“隐藏已知文件类型的扩展名”前的勾去掉点击确定即可。
    • 做好以后,就可以一键关机了。也可以设置快捷方式,然后将bat文件藏起来。并设置快捷方式图标为“我的电脑”图标等。当别人一点,就会莫名其妙地关机了。是不是很有意思呢?
    展开全文
  • 但是另一方面,CDN并非仅仅是内容离用户更近,更高层面上,CDN代表了一种颠覆性的架构,除了数据离用户的距离上的考量之外,更多地是打碎了TCP对IP路由网络的信任,IP做不好的事情,TCP自己来做。非常具有讽刺意味...

    CDN如何加速动态的内容? 如果答案是每次都回源站,那岂不是违背了 “CDN就是让内容离用户更近” 的承诺了吗?

    答案确实是每次都回源站。但是另一方面,CDN并非仅仅是让内容离用户更近,更高层面上,CDN代表了一种颠覆性的架构,除了数据离用户的距离上的考量之外,更多地是打碎了TCP对IP路由网络的信任,IP做不好的事情,TCP自己来做。

    非常具有讽刺意味,加入拥塞控制算法以后的TCP从来都没有优雅地应对过拥塞,相反在加入了越来越多的所谓 拥塞控制算法 之后,TCP违背最初设计理念的地方越来越多,事实证明,TCP根本就做不好长距离的端到端的拥塞控制,是的,完全做不到!

    既然做不好长距离的端到端控制,那就做短距离的呗。

    更具讽刺意味的是,人们似乎只要听到TCP代理,就会想到一个字,慢! 然而非也!

    两个TCP端节点之间如果架一个TCP中继代理,整个的吞吐会提高。

    你可能觉得有点不可思议,貌似这个论述违背了常识,但是确实如此。我不准备用理论去论述这个结论,只给出下面的图示就能基本明白:

    a827488f8a0eb6676321853054998ec9.png

    这就是一种流水线的工作方式,它在TCP传输中之所以能工作地如此有效,是因为TCP的RTT对传输吞吐影响远远大于多增加一个中继代理而增加的额外处理时间对性能的影响,也就是说在下面的公式中:

    TCP时延 = 传播时延 + 排队时延 + 处理时延

    和传播时延相比,处理时延可以忽略!

    因此在增加了TCP中继代理之后,虽然增加了单个数据包的处理时延,但是由于流水线操作对传播时延的优化,这样做依然是值得的!上图中仅仅以两个流水线级作为例子,流水线级数,即TCP中继代理越多,吞吐就会越高。

    至于说为了流水线可以提高吞吐,我想了解CPU流水线处理的都应该明白吧。其本质就是 让系统的不同组成部分可以同时处理一件事情的不同阶段, 这样整个系统便没有空闲的部件,所有都在忙,当然效能最高!效能我们可以理解为吞吐。

    值得强调的是,流水线并不会提高单程处理( 未使用流水线前 )的性能,相反由于增加了流水线逻辑,它会降低单程处理性能,流水线只是能提高吞吐而已,即可以让系统的输出按照流水线级数的频率来进行,比如说如果有10级流水线,那么系统吞吐理论上将会比不使用流水线时多出10倍。

    当然,虽然理论上设计无穷级的流水线会让系统吞吐无穷大,但是每增加一级的流水线都会平添 单程处理时延, 最终流水线带来的好处不足以弥补平添的时延,就得不偿失了,Intel的Pentium 4处理器就是这样下课的。

    • 【流水线级数越来越多时,吞吐率的增加是一个挤的过程,越来越慢越来越困难】
    • 【流水线级数越来越多时,处理延时的增加是线性递增的过程,越来越大】

    现在说回TCP和流水线的关系。

    TCP在设计的时候,就是一个流水线协议。

    我们从最简单的 停/等协议 说起。停等协议的时序图是下面这样的:

    cfc42efd60dd0531068594dbb9e0ca78.png

    我们可以看到,这是一个典型的单程操作,在一个数据包的ACK未返回期间,链路是静默的,显然这在吞吐效率上是非常低的。整个RTT只能传输一个数据包,时间和空间均造成了巨大的浪费。TCP的设计者当然不会采用这种方式来设计协议。

    不管是最初的端到端滑动窗口协议,还是后来引入的拥塞控制机制,均采用了一种流水线的思想来设计协议(参考一下GBN协议和SR协议,以及TCP和QUIC的类比)。

    为了避免时间(数据包传输的时间)和空间(数据包在单位时间内通过的距离)的静默浪费,可以把时间和空间切割成背靠背的小段,流水线的意思是说, 前面一秒发出一个数据包到达前面一个位置,那么后面一秒就可以发出另一个数据包占据前面数据包后面的位置。 最终效果就是,在端到端数据传输路径上,每一个位置都有数据包在向前传输,它们在时间轴上依次向前推进:

    1b2b6d56bf66dd424f57edcb09b0e7c9.png

    换句话说,在数据的接收端看来,数据包的到达是 源源不断的 !

    这个过程在经典的《TCP/IP详解 卷1:协议》的 “20.7 成块数据的吞吐量” 章节有非常详细的描述!画出其时序图就是下面的样子:

    5d349a4017c5724ba63770ba5b842244.png

    可见,不管端到端的距离多远,只要管道达到这种满载的状态,假设全世界的网络数据包传输速率都一样为光速且发送数据包的间隔都一样,即带宽一致的情况下,那么在接收端看来,数据包到达的频率均是一样的,这意味着,我们无法通过增加TCP中继代理的方式来提高吞吐率。看样子是否定我在本文最初给出的结论。怎么办?

    这非常容易解释,因为理论上看来,TCP本来就被设计成了流水线协议,既然它本来就是流水线的,再基于同样的思想引入TCP中继,造同样效果的流水线,当然是无济于事了。

    真的是这样吗?

    理论上是一回事,现状是另一回事。我们还得回到TCP实现的现状来看问题。事实上,直到现在,在现实中,TCP从来没有按照理想中的流水线方式工作过。也就是说,TCP真正跑起来时其行为并不像理论上的推论所描述的那般。因此,流水线当然不能好好的工作了。

    我们看看到底是哪里出了问题。

    首先,我们从《TCP/IP详解 卷1:协议》的20.7小节里看到,TCP数据包是以相同的时间间隔发送的,即它是Pacing发送的,然而现实中,在BBR之前,大多数的TCP实现均是以主机延时在一个while循环中把一窗口的数据包突发出去的。我们将其归为:

    • Burst行为

    其次,由于上述第1点的Burst行为,中间节点的排队将会加剧,于是产生了大量AQM算法,产生了TCP发送端和AQM之间的博弈。此后的TCP传输的难题就是 能发送多少数据 的难题,即计算拥塞控制窗口cwnd的难题。网络传输行为是一个动态的行为,这意味着cwnd是无法准确预估的,我们归纳为:

    • cwnd测不准

    最终,TCP传输的流水线特征就不可能呈现了。我们知道,在TCP中,由于带宽的无法预估,初始cwnd不得不从一个非常小的值开始试探,而慢启动期间cwnd增长的速度和RTT是相关的,所以就为增加TCP中继代理提供了优化的空间。

    另外,我们知道TCP大多数的拥塞控制算法对丢包是非常敏感的,丢包会造成cwnd的急剧降低,而长距离的TCP端点之间丢包更容易发生,所以增加TCP中继代理可以缩短每一段子链路的RTT进而减少丢包的影响。

    通过以上的篇幅,我想下面的疑问应该是解开了:

    即便是TCP的cwnd从1开始慢启动,它的cwnd早晚增长到数据包会填满整个BDP的,RTT越大,cwnd就越大,cwnd的值就是BDP,所以为什么增加TCP中继代理依然是可以提高吞吐率呢???

    答案似乎很明显:

    1. TCP理论上的流水线行为依赖于固定的Pacing发送,然而现实中的实现多数是Burst发送;
    2. 复杂且动态的链路数据包收敛汇聚行为使得TCP传输并不稳定,排队,丢包造成巨大的影响。

    以下是实际中TCP传输的时序图的样子:

    e7bd46195ec537cf43d178a5e77c9bdb.png

    所以说,既然TCP的流水线模型工作的并不好,那么我们就有必要去显式地通过增加中间代理节点让数据包流水线化,这就是本文最开始说明的。

    说了这么多流水线以及TCP的历史上的一些的事情,其实这是在为TCP中继代理为什么能提高系统吞吐率作一个理论上的保证。有了这个理论上的保证或者说依据,我们就可以采用多级代理的方式来重构TCP连接了。这其中有很多值得深思的好玩的东西。

    采用中继会减少排队和丢包

    我们知道TCP是端到端协议,其对中间链路是无感知的,拥塞控制机制中的cwnd如何能相对精确预知,一直是一个世界级难题。可以肯定的是,TCP两端相距越远,RTT越大,链路状况越是难以获取,误判越是会增多,而误判的后果就是排队或者丢包。

    采用TCP中继代理后,原本长距离的链路被切分成了多个段, 每一个小段的可控性会更高些,且RTT的减少本身就会提高吞吐。我们关注下面两点即可:

    1. 越短的链路越不容易丢包,越不容易拥塞,RTT越小超时带来的cwnd陡降的影响越容易恢复。
    2. 可以针对每一个小段进行定向优化,比如提高初始cwnd等。

    采用中继可以让选路策略更加灵活

    这个无需多说,TCP/IP协议栈越往上层走,可以利用的策略就越丰富,见下图:

    0ea7ee5c5a848ca5b97118633b8d8b69.png

    可以说,在TCP连接之间加中继TCP代理,好处多多,使得TCP更加可控,更不容易跑飞(TCP在长RTT情况下,是非常不可控的一个协议),然而这也许违背了TCP最初设计者的初衷,不过这又能怎样呢?难道设计者就一定是正确的吗?当初的范.雅格布森的TCP pacing管道不是从来都没有践行过吗?人类理解不了上帝,不然人不就成了上帝了吗?

    TCP中继代理是一个非常非常通用的架构,事实上当我写完这篇文章后,我发现其实CDN静态加速,CDN动态加速,SDWAN等当代互联网传输技术中,大量采用了这种方式,不管你把它们叫什么,它的本质永远都是这个,即 TCP中继代理技术可以为TCP引入良好的短距离端到端传输控制!换句话说,多级TCP中继代理为CDN提供了可以优化内容传输的依据!

    • 对于静态内容,良好的短距离传输控制 侧重在最后一公里这最后一段;
    • 对于动态内容,良好的短距离传输控制 侧重在从第一段到最后一段的所有环节的流水线配合。

    如果我们把TCP设计之初的流水线理念看作是一种乌托邦式的流水线(竟然相信毫无传输保证的IP网络!)的话,那么TCP中继代理流水线就是一个真实的流水线。

    需要C/C++ Linux服务器架构师学习资料私信“资料”(资料包括C/C++,Linux,golang技术,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK,ffmpeg等),免费分享

    展开全文
  • 我的目标是计算机将视频从usb网络摄像头传输到我自己的Android应用程序 .在PC上,我正在运行VLC,它通过端口8554上的RTSP流式传输捕获设备(网络摄像头),具有以下设置:Video Codec: H.264Video Resolution: 1600...

    我的目标是让计算机将视频从usb网络摄像头传输到我自己的Android应用程序 .

    在PC上,我正在运行VLC,它通过端口8554上的RTSP流式传输捕获设备(网络摄像头),具有以下设置:

    Video Codec: H.264

    Video Resolution: 1600x1200 x 0.25= 400 x 300 px

    Video Frame Rate: 12 fps

    Video Bitrate: 56 Kbps

    and NO audio

    我选择了非常低的设置,看它是否会改善滞后,但对滞后几乎没有影响 . 这是生成的输出流字符串VLC给了我:

    :sout=#transcode{vcodec=h264,vb=56,fps=12,scale=0.25,acodec=none}:rtp{sdp=rtsp://:8554/} :sout-keep

    在onCreate方法的android端我有:

    String url = "rtsp://192.168.1.103:8554/";

    vid = (VideoView) findViewById(R.id.videoView1);

    mc = new MediaController(this);

    vid.setMediaController(mc);

    vid.setVideoURI(Uri.parse(url));

    vid.requestFocus();

    vid.setOnPreparedListener(new OnPreparedListener(){

    @Override

    public void onPrepared(MediaPlayer mp) {

    // TODO Auto-generated method stub

    vid.start();

    }

    });

    结果:

    当应用程序加载时,VideoView全黑,大约10-20秒,而LogCat中会弹出两条消息:

    Tag Text

    MediaPlayer Couldn't open file on client side, trying server side

    MediaPlayer getMetadata

    一旦显示视频,大约有20秒的延迟,大约30-60秒后视频仍然被冻结 . 视频开始播放后,这些消息也会出现:

    Tag Text

    MediaPlayer info/warning (3, 0)

    MediaPlayer Info (3, 0)

    我也尝试使用VLC从同一网络上的另一台PC捕获流,似乎滞后仍然存在,但它永远不会冻结 . 不确定我是否应该使用其他RTSP服务器,例如Darwin?使用不同的协议,HTTP或RTP?或者如果在android端需要更改某些内容?

    展开全文
  • 近日小米有品上架一款海鸟4K运动相机,我们来看看它的体验如何。海鸟4K运动相机采用的是类似米家的白色简约纸盒包装,正面有产品的彩印正视轮廓图,标示内部产品的颜色,消费者对于产品外观有个直观了解。​产品...
  • 这不逼着自己又学起来了,个人比较喜欢一些实践类的东西,既学习到知识又能技术落地,能搞出个demo最好,本来不知道该分享什么主题,好在最近项目紧急招人中,而我有幸做了回面试官,就给大家整理分享一道面试题:...
  • 来源标题:用父母声音讲故事,阿尔法蛋智能故事机陪伴更暖心作为一个母亲,我身边有不少宝妈选择怀孕之后就辞职在家专心照顾孩子,但是她们当中也有很多妈妈莫名焦虑且陷入纠结,一方面害怕自己与社会脱节,一方面...
  • 这不逼着自己又学起来了,个人比较喜欢一些实践类的东西,既学习到知识又能技术落地,能搞出个demo最好,本来不知道该分享什么主题,好在最近项目紧急招人中,而我有幸做了回面试官,就给大家整理分享一道面试题:...
  • 这不逼着自己又学起来了,个人比较喜欢一些实践类的东西,既学习到知识又能技术落地,能搞出个demo最好,本来不知道该分享什么主题,好在最近项目紧急招人中,而我有幸做了回面试官,就给大家整理分享一道面试题:...
  • 作为一名有追求的PCB设计工程师,该如何提高自己的布线水平呢?据经验所得,要想做到快速高效的布线,并且你的PCB布线看上去高大上,你需要做到以下这5点:1、遵循PCB布线规则这是对PCB设计者最基本的要求,也是...
  • 都会会客户出现不好的体验,所以请教各位大神,你们遇到这种情况如何解决的 我的思路是:使用HttpClient异步请求来实现300个线程接受3000个请求,这种方法来提高系统容量,但是具体实现还得研究~
  • 这一个月我都干了些什么…… 工作上,还是一如既往的写bug并不亦乐乎的修bug。学习上,最近看了一些非专业书籍,写...不过,摸着良心说,最近的技术方面也是有所感悟和积累的,比如如何写好设计文档,如何使用延时队...
  • 本文中,我们看的是如何自己的定义ImageView来实现一张文字图片实现文字的遮罩闪烁效果,以下先来看看效果吧。(录屏幕延时导致效果看起来不是非常好)一、实现原理 实现原理是重写View的onCreate方法。获取图片...
  • 找人帮忙的事儿,各种地方都有,微信、微博、知乎等平台上,我都有几万关注,所以也常常碰到一些求助,但,每次看到,总人觉得他们不仅仅是需要帮忙,更需要「学习一下如何找人帮忙」。 今天去扫了一下自己的微博...
  • unity 协程

    2016-06-01 20:27:46
    在使用Unity的过程中,对协程只知道如何使用,但并不知道协程的内部机理,对于自己不清楚的部分就像一块大石压力心里,让自己感觉到担忧和不适。这篇文章一探究竟,彻底揭开协程的面纱,让大家在使用中不再有...
  • (1)呼吸灯的原理,通俗的说就是利用PWM波的占空比的变化,其输出的电压的有效值变化使得LED灯的亮度发送变化(灯泡的亮度是由有效值来确定的),然后通过延时让消除由PWM波占空比带来的闪烁影响。(关于如何
  • 随着网络的发展,互联网流量迅速增加,网络产生拥塞,延时增加,...当然了,如果你想网络运作的更好,那你就得了解你自己的网络啊。看看这个网络中都运行着什么网络应用,且这些网络应用比较关心的网络因素有那些...
  • 浅谈QoS

    2019-05-24 09:32:26
    随着网络的发展,互联网流量迅速增加,网络产生拥塞,延时增加,...当然了,如果你想网络运作的更好,那你就得了解你自己的网络啊。看看这个网络中都运行着什么网络应用,且这些网络应用比较关心的网络因素有那些...
  • RabbitMQ必问面试题

    2019-07-20 17:25:27
    6.如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决?7.如果自己写一个消息队列,你怎么设计架构? 参考大佬的博客,点此跳转 1.RabbitMQ怎么...
  • 它琐碎的功能逻辑、层出不穷的延时操作以及复杂的状态控制很容易人顾此失彼,手忙脚乱,最后的结果往往是,费劲九牛二虎之力把功能实现好了,但代码已经乱成一团糟,定位Bug难、扩展新功能难,甚至自己读起来也难...
  • 我为自己创造了动力,因为我是这些人中的一员,外太空的延时镜头我感到高兴。 快速开始: 安装: brew tap gwolf3/craft & brew cask install moter brew tap gwolf3/craft安装brew tap gwolf3/craft 设置:...
  • 小白系统免费的智能客服点击使用相信很多小...小编下面给大家介绍一下如何提高自己在游戏里的帧数设置,你画面感流畅度大大增加,不会"卡"。1电源高性能1、点击左下角后点击"设置"2、点击"系统"打开控制面板3、再...
  • Part one.如何使用微信来发送延迟消息呢?Part two.之前一次偶然的机会,想要定时发送一个消息给...我们希望可以通过延时书信的方式可以使用者能更加轻松的表露自己的情感。一段饱含情感的文字、一张精心挑选的...
  • 下面给大家介绍一下如何提高自己在游戏里的帧数设置,你画面感流畅度大大增加,不会"卡"。电源高性能 1、点击左下角后点击"设置"2、点击"系统"打开控制面板3、再将鼠标移到"电源和睡眠"处并点击打开4、点击右...
  • JMETER性能测试快速入门

    千人学习 2020-02-27 23:23:05
    4.Jmeter的基础知识 介绍jmeter的原理和基本元件 对各个测试元件进行讲解,掌握更多的武琦,我们测试能游刃有余 5.Jmeter脚本的录制 介绍jmeter的录制原理,并演示如何录制。 对于https协议,需要的额外工作。 6...

空空如也

空空如也

1 2 3 4
收藏数 77
精华内容 30
关键字:

如何让自己延时