协程与例程

本文深入介绍了协程技术,一种在上世纪60年代提出的程序控制机制,适用于协作式多任务处理。协程允许程序组件拥有多个入口点,可在指定位置挂起和恢复执行,非常适合现代并发编程需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

协程与例程

    <div class="article_description">

协程(coroutine)技术是一种程序控制机制,早在上世纪60年代就已提出,用它可以很方便地实现协作式多任务。
协程是一种程序组件,是由子例程的概念泛化而来的,子例程只有一个入口点且只返回一次,而协程允许多个入口点,可以在指定位置挂起和恢复执行。

被广为引用的协程定义:
•协程的本地数据在后续调用中始终保持
•协程在控制离开时暂停执行,当控制再次进入时只能从离开的位置继续执行
在协…



    <span class="link_view" title="阅读次数"><a href="/kobejayandy/article/details/18451391" title="阅读次数">阅读</a>(746)</span>
    <span class="link_comments" title="评论次数"><a href="/kobejayandy/article/details/18451391#comments" title="评论次数" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_pinglun'])">评论</a>(0)</span>

</div>

    <div class="clear"></div>
</div>
<div class="list_item article_item">
    <div class="article_title">   
     <span class="ico ico_type_Repost"></span>


<h1>
    <span class="link_title"><a href="/kobejayandy/article/details/18183077">
    TCP协议疑难杂症全景解析            
    </a></span>
</h1>

    <div class="article_description">

说明:
1).本文以TCP的发展历程解析容易引起混淆,误会的方方面面
2).本文不会贴大量的源码,大多数是以文字形式描述,我相信文字看起来是要比代码更轻松的
3).针对对象:对TCP已经有了全面了解的人。因为本文不会解析TCP头里面的每一个字段或者3次握手的细节,也不会解释慢启动和快速重传的定义
4).除了《TCP/IP详解》(卷一,卷二)以及《Unix网络编程》以及Linux源代码之外,…



    <span class="link_view" title="阅读次数"><a href="/kobejayandy/article/details/18183077" title="阅读次数">阅读</a>(999)</span>
    <span class="link_comments" title="评论次数"><a href="/kobejayandy/article/details/18183077#comments" title="评论次数" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_pinglun'])">评论</a>(1)</span>

</div>

    <div class="clear"></div>
</div>
<div class="list_item article_item">
    <div class="article_title">   
     <span class="ico ico_type_Repost"></span>


<h1>
    <span class="link_title"><a href="/kobejayandy/article/details/17842377">
    正向代理/反向代理/透明代理            
    </a></span>
</h1>

    <div class="article_description">

1、正向代理(forward)是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。

2、反向代理(reverse proxy)正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何…


    <span class="link_view" title="阅读次数"><a href="/kobejayandy/article/details/17842377" title="阅读次数">阅读</a>(656)</span>
    <span class="link_comments" title="评论次数"><a href="/kobejayandy/article/details/17842377#comments" title="评论次数" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_pinglun'])">评论</a>(0)</span>

</div>

    <div class="clear"></div>
</div>
<div class="list_item article_item">
    <div class="article_title">   
     <span class="ico ico_type_Repost"></span>


<h1>
    <span class="link_title"><a href="/kobejayandy/article/details/17655989">
    内网、外网IP地址            
    </a></span>
</h1>

    <div class="article_description">

公网、内网是两种Internet的接入方式
       内网接入方式:上网的计算机得到的IP地址是Inetnet上的保留地址,保留地址有如下3种形式:
   10.x.x.x
   172.16.x.x至172.31.x.x
   192.168.x.x
        内网的计算机以NAT(网络地址转换)协议,通过一个公共的网关访问Internet。内网的计算机可向Internet上…


    <span class="link_view" title="阅读次数"><a href="/kobejayandy/article/details/17655989" title="阅读次数">阅读</a>(715)</span>
    <span class="link_comments" title="评论次数"><a href="/kobejayandy/article/details/17655989#comments" title="评论次数" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_pinglun'])">评论</a>(0)</span>

</div>

    <div class="clear"></div>
</div>
<div class="list_item article_item">
    <div class="article_title">   
     <span class="ico ico_type_Repost"></span>


<h1>
    <span class="link_title"><a href="/kobejayandy/article/details/17655739">
    TIME_WAIT和CLOSE_WAIT状态区别            
    </a></span>
</h1>

    <div class="article_description">

在服务器的日常维护过程中,会经常用到下面的命令:
netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’
它会显示例如下面的信息:
TIME_WAIT 814
CLOSE_WAIT 1
FIN_WAIT1 1
ESTABLISHED 634
SYN_RECV 2
LAST_ACK 1

常用的三…


    <span class="link_view" title="阅读次数"><a href="/kobejayandy/article/details/17655739" title="阅读次数">阅读</a>(14365)</span>
    <span class="link_comments" title="评论次数"><a href="/kobejayandy/article/details/17655739#comments" title="评论次数" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_pinglun'])">评论</a>(0)</span>

</div>

    <div class="clear"></div>
</div>
<div class="list_item article_item">
    <div class="article_title">   
     <span class="ico ico_type_Repost"></span>


<h1>
    <span class="link_title"><a href="/kobejayandy/article/details/17441109">
    ASCII码表            
    </a></span>
</h1>

    <div class="article_description">

ASCII码大致可以分作三部分組成。
第一部分:ASCII非打印控制字符表
ASCII表上的数字0–31分配给了控制字符,用于控制像打印机等一些外围设备。例如,12代表换页/新页功能。此命令指示打印机跳到下一页的开头。(参详ASCII码表中0-31)
第二部分:ASCII打印字符
数字 32–126 分配给了能在键盘上找到的字符,当您查看或打印文档时就会出现。数字127代表 DELETE…


    <span class="link_view" title="阅读次数"><a href="/kobejayandy/article/details/17441109" title="阅读次数">阅读</a>(580)</span>
    <span class="link_comments" title="评论次数"><a href="/kobejayandy/article/details/17441109#comments" title="评论次数" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_pinglun'])">评论</a>(0)</span>

</div>

    <div class="clear"></div>
</div>
<div class="list_item article_item">
    <div class="article_title">   
     <span class="ico ico_type_Repost"></span>


<h1>
    <span class="link_title"><a href="/kobejayandy/article/details/16926119">
    HTTP1.0与HTTP1.1的区别            
    </a></span>
</h1>

    <div class="article_description">

下面主要从几个不同的方面介绍HTTP/1.0与HTTP/1.1之间的差别,当然,更多的内容是放在解释这种差异背后的机制上。
1 可扩展性
可扩展性的一个重要原则:如果HTTP的某个实现接收到了自身未定义的头域,将自动忽略它。
Ø  在消息中增加版本号,用于兼容性判断。注意,版本号只能用来判断逐段(hop-by-hop)的兼容性,而无法判断端到端(end-to-end)的兼容性。
例如,一台…


    <span class="link_view" title="阅读次数"><a href="/kobejayandy/article/details/16926119" title="阅读次数">阅读</a>(759)</span>
    <span class="link_comments" title="评论次数"><a href="/kobejayandy/article/details/16926119#comments" title="评论次数" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_pinglun'])">评论</a>(0)</span>

</div>

    <div class="clear"></div>
</div>
<div class="list_item article_item">
    <div class="article_title">   
     <span class="ico ico_type_Repost"></span>


<h1>
    <span class="link_title"><a href="/kobejayandy/article/details/16910083">
    Web安全之CSRF            
    </a></span>
</h1>

    <div class="article_description">

一.CSRF是什么?
  CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。
二.CSRF可以做什么?
  你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚…


    <span class="link_view" title="阅读次数"><a href="/kobejayandy/article/details/16910083" title="阅读次数">阅读</a>(733)</span>
    <span class="link_comments" title="评论次数"><a href="/kobejayandy/article/details/16910083#comments" title="评论次数" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_pinglun'])">评论</a>(1)</span>

</div>

    <div class="clear"></div>
</div>
<div class="list_item article_item">
    <div class="article_title">   
     <span class="ico ico_type_Repost"></span>


<h1>
    <span class="link_title"><a href="/kobejayandy/article/details/16909569">
    Web安全之XSS            
    </a></span>
</h1>

    <div class="article_description">

XSS 全称(Cross Site Scripting) 跨站脚本攻击, 是Web程序中最常见的漏洞。指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此网页时,脚本就会在用户的浏览器上执行,从而达到攻击者的目的.  比如获取用户的Cookie,导航到恶意网站,携带木马等。

作为测试人员,需要了解XSS的原理,攻击场景,如何修复。 才能有效的防止XSS的发生。…


    <span class="link_view" title="阅读次数"><a href="/kobejayandy/article/details/16909569" title="阅读次数">阅读</a>(670)</span>
    <span class="link_comments" title="评论次数"><a href="/kobejayandy/article/details/16909569#comments" title="评论次数" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_pinglun'])">评论</a>(0)</span>

</div>

    <div class="clear"></div>
</div>
<div class="list_item article_item">
    <div class="article_title">   
     <span class="ico ico_type_Repost"></span>


<h1>
    <span class="link_title"><a href="/kobejayandy/article/details/16909309">
    HTTP协议 (七) Cookie            
    </a></span>
</h1>

    <div class="article_description">

Cookie是HTTP协议中非常重要的东西, 之前拜读了Fish Li 写的【细说Cookie】, 让我学到了很多东西。Fish的这篇文章写得太经典了。 所以我这篇文章就没有太多内容了。 
最近我打算写一个系列的HTTP文章,我站在HTTP协议的角度, 说说我对Cookie的理解。
 
阅读目录

Cookie是什么,有什么用,为什么要用到CookieCookie的分类Cookie存在哪…


    <span class="link_view" title="阅读次数"><a href="/kobejayandy/article/details/16909309" title="阅读次数">阅读</a>(700)</span>
    <span class="link_comments" title="评论次数"><a href="/kobejayandy/article/details/16909309#comments" title="评论次数" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_pinglun'])">评论</a>(0)</span>

</div>

    <div class="clear"></div>
</div>
<div class="list_item article_item">
    <div class="article_title">   
     <span class="ico ico_type_Repost"></span>


<h1>
    <span class="link_title"><a href="/kobejayandy/article/details/16909293">
    HTTP协议 (六) 状态码详解            
    </a></span>
</h1>

    <div class="article_description">

HTTP状态码,我都是现查现用。 我以前记得几个常用的状态码,比如200,302,304,404, 503。 一般来说我也只需要了解这些常用的状态码就可以了。  如果是做AJAX,REST,网络爬虫,机器人等程序。还是需要了解其他状态码。  本文我花了一个多月的时间把所有的状态码都总结了下,内容太多,看的时候麻烦耐心点了。
HTTP状态码的学习资料到处都有,但是都是理论上讲解。  本文介绍HTT…


    <span class="link_view" title="阅读次数"><a href="/kobejayandy/article/details/16909293" title="阅读次数">阅读</a>(686)</span>
    <span class="link_comments" title="评论次数"><a href="/kobejayandy/article/details/16909293#comments" title="评论次数" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_pinglun'])">评论</a>(0)</span>

</div>

    <div class="clear"></div>
</div>
<div class="list_item article_item">
    <div class="article_title">   
     <span class="ico ico_type_Repost"></span>


<h1>
    <span class="link_title"><a href="/kobejayandy/article/details/16909277">
    HTTP协议 (五) 代理            
    </a></span>
</h1>

    <div class="article_description">

之前写过一个篇
【HTTP协议详解】 ,这次介绍代理服务器, 代理服务器是HTTP协议中一个重要的组件, 发挥着重要的作用。 本文介绍一些HTTP代理服务器的概念和工作原理
 
阅读目录

什么是代理服务器Fiddler就是个典型的代理代理作用一:翻墙代理作用二:匿名访问代理作用三:通过代理上网代理作用四:通过代理缓存,加快上网速度代理作用五:儿童过滤器IE代理设置:手动设置代理IE代…


    <span class="link_view" title="阅读次数"><a href="/kobejayandy/article/details/16909277" title="阅读次数">阅读</a>(717)</span>
    <span class="link_comments" title="评论次数"><a href="/kobejayandy/article/details/16909277#comments" title="评论次数" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_pinglun'])">评论</a>(0)</span>

</div>

    <div class="clear"></div>
</div>
<div class="list_item article_item">
    <div class="article_title">   
     <span class="ico ico_type_Repost"></span>


<h1>
    <span class="link_title"><a href="/kobejayandy/article/details/16909257">
    HTTP协议 (四) 缓存            
    </a></span>
</h1>

    <div class="article_description">

之前写过一个篇
【HTTP协议详解】 ,这次继续介绍HTTP协议中的缓存机制。HTTP协议提供了非常强大的缓存机制, 了解这些缓存机制,对提高网站的性能非常有帮助。 本文介绍浏览器和Web服务器之间如何处理”浏览器缓存”,以及控制缓存的http header.
本文会使用Fiddler来查看HTTP request和Response, 如果不熟悉这工具,可以先参考[Fiddler教程] 。在…


    <span class="link_view" title="阅读次数"><a href="/kobejayandy/article/details/16909257" title="阅读次数">阅读</a>(766)</span>
    <span class="link_comments" title="评论次数"><a href="/kobejayandy/article/details/16909257#comments" title="评论次数" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_pinglun'])">评论</a>(0)</span>

</div>

    <div class="clear"></div>
</div>
<div class="list_item article_item">
    <div class="article_title">   
     <span class="ico ico_type_Repost"></span>


<h1>
    <span class="link_title"><a href="/kobejayandy/article/details/16909237">
    HTTP协议 (三) 压缩            
    </a></span>
</h1>

    <div class="article_description">

之前写过一个篇
【HTTP协议详解】 ,这次继续介绍HTTP协议中的压缩。
本文会使用Fiddler来查看HTTP request和Response, 如果不熟悉这个工具,可以先参考[Fiddler教程]
HTTP压缩是指: Web服务器和浏览器之间压缩传输的”文本内容“的方法。 HTTP采用通用的压缩算法,比如gzip来压缩HTML,Javascript, CSS文件。 能大大减少网络传…


    <span class="link_view" title="阅读次数"><a href="/kobejayandy/article/details/16909237" title="阅读次数">阅读</a>(716)</span>
    <span class="link_comments" title="评论次数"><a href="/kobejayandy/article/details/16909237#comments" title="评论次数" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_pinglun'])">评论</a>(0)</span>

</div>

    <div class="clear"></div>
</div>
<div class="list_item article_item">
    <div class="article_title">   
     <span class="ico ico_type_Repost"></span>


<h1>
    <span class="link_title"><a href="/kobejayandy/article/details/16909217">
    HTTP协议 (二) 基本认证            
    </a></span>
</h1>

    <div class="article_description">

http协议是无状态的, 浏览器和web服务器之间可以通过cookie来身份识别。 桌面应用程序(比如新浪桌面客户端, skydrive客户端)跟Web服务器之间是如何身份识别呢?
 
阅读目录

什么是HTTP基本认证HTTP基本认证的过程HTTP基本认证的优点每次都要进行认证HTTP基本认证和HTTPS一起使用就很安全HTTP OAuth认证其他认证客户端的使用
 
什么是HTTP…


    <span class="link_view" title="阅读次数"><a href="/kobejayandy/article/details/16909217" title="阅读次数">阅读</a>(851)</span>
    <span class="link_comments" title="评论次数"><a href="/kobejayandy/article/details/16909217#comments" title="评论次数" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_pinglun'])">评论</a>(0)</span>

</div>

    <div class="clear"></div>
</div>
</div>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值