Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/xiaoheiAh/hugo-theme-pure.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '2019/11/event/index.html')
-rw-r--r--2019/11/event/index.html148
1 files changed, 64 insertions, 84 deletions
diff --git a/2019/11/event/index.html b/2019/11/event/index.html
index 685a764..2013e88 100644
--- a/2019/11/event/index.html
+++ b/2019/11/event/index.html
@@ -32,6 +32,7 @@
<link rel="stylesheet" href="https://xiaohei.im/hugo-theme-pure/css/style.css">
<link rel="stylesheet" href="https://cdn.staticfile.org/highlight.js/9.15.10/styles/github.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.css">
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tocbot/4.4.2/tocbot.css">
<meta property="og:title" content="Redis-事件" />
<meta property="og:description" content="
事件驱动程序设计(英语:Event-driven programming)是一种电脑程序设计模型。这种模型的程序运行流程是由用户的动作(如鼠标的按键,键盘的按键动作)或者是由其他程序的消息来决定的。相对于批处理程序设计(batch programming)而言,程序运行的流程是由程序员来决定。批量的程序设计在初级程序设计教学课程上是一种方式。然而,事件驱动程序设计这种设计模型是在交互程序(Interactive program)的情况下孕育而生的。 &ndash;wikipedia
@@ -170,7 +171,8 @@
<li class="category-list-item"><a href="https://xiaohei.im/hugo-theme-pure/categories/corejava/" class="category-list-link">corejava</a><span class="category-list-count">7</span></li>
<li class="category-list-item"><a href="https://xiaohei.im/hugo-theme-pure/categories/hystrix/" class="category-list-link">hystrix</a><span class="category-list-count">2</span></li>
<li class="category-list-item"><a href="https://xiaohei.im/hugo-theme-pure/categories/leetcode/" class="category-list-link">leetcode</a><span class="category-list-count">3</span></li>
- <li class="category-list-item"><a href="https://xiaohei.im/hugo-theme-pure/categories/redis/" class="category-list-link">redis</a><span class="category-list-count">8</span></li>
+ <li class="category-list-item"><a href="https://xiaohei.im/hugo-theme-pure/categories/redis/" class="category-list-link">redis</a><span class="category-list-count">10</span></li>
+ <li class="category-list-item"><a href="https://xiaohei.im/hugo-theme-pure/categories/%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/" class="category-list-link">学习笔记</a><span class="category-list-count">1</span></li>
<li class="category-list-item"><a href="https://xiaohei.im/hugo-theme-pure/categories/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97/" class="category-list-link">消息队列</a><span class="category-list-count">4</span></li>
</ul>
</div>
@@ -197,12 +199,16 @@
class="tag-list-count">3</span></li>
+ <li class="tag-list-item"><a href="https://xiaohei.im/hugo-theme-pure/tags/netty/" class="tag-list-link">netty</a><span
+ class="tag-list-count">1</span></li>
+
+
<li class="tag-list-item"><a href="https://xiaohei.im/hugo-theme-pure/tags/rabbitmq/" class="tag-list-link">rabbitmq</a><span
class="tag-list-count">4</span></li>
<li class="tag-list-item"><a href="https://xiaohei.im/hugo-theme-pure/tags/redis/" class="tag-list-link">redis</a><span
- class="tag-list-count">8</span></li>
+ class="tag-list-count">10</span></li>
<li class="tag-list-item"><a href="https://xiaohei.im/hugo-theme-pure/tags/rust/" class="tag-list-link">rust</a><span
@@ -236,50 +242,50 @@
<li>
<div class="item-inner">
<p class="item-title">
- <a href="https://xiaohei.im/hugo-theme-pure/2019/11/replication/" class="title">Redis-复制功能探索</a>
+ <a href="https://xiaohei.im/hugo-theme-pure/2019/11/netty/" class="title">[学习笔记] Netty</a>
</p>
<p class="item-date">
- <time datetime="2019-11-16 14:24:40 &#43;0800 CST" itemprop="datePublished">2019-11-16</time>
+ <time datetime="2019-11-29 18:40:27 &#43;0800 CST" itemprop="datePublished">2019-11-29</time>
</p>
</div>
</li>
<li>
<div class="item-inner">
<p class="item-title">
- <a href="https://xiaohei.im/hugo-theme-pure/2019/11/event/" class="title">Redis-事件</a>
+ <a href="https://xiaohei.im/hugo-theme-pure/2019/11/cluster/" class="title">Redis HA - Cluster</a>
</p>
<p class="item-date">
- <time datetime="2019-11-14 15:01:45 &#43;0800 CST" itemprop="datePublished">2019-11-14</time>
+ <time datetime="2019-11-24 11:48:17 &#43;0800 CST" itemprop="datePublished">2019-11-24</time>
</p>
</div>
</li>
<li>
<div class="item-inner">
<p class="item-title">
- <a href="https://xiaohei.im/hugo-theme-pure/2019/11/aof/" class="title">Redis-AOF持久化</a>
+ <a href="https://xiaohei.im/hugo-theme-pure/2019/11/sentinel/" class="title">Redis HA - 哨兵模式</a>
</p>
<p class="item-date">
- <time datetime="2019-11-08 15:18:05 &#43;0800 CST" itemprop="datePublished">2019-11-08</time>
+ <time datetime="2019-11-23 17:56:15 &#43;0800 CST" itemprop="datePublished">2019-11-23</time>
</p>
</div>
</li>
<li>
<div class="item-inner">
<p class="item-title">
- <a href="https://xiaohei.im/hugo-theme-pure/2019/11/rdb/" class="title">Redis-RDB持久化</a>
+ <a href="https://xiaohei.im/hugo-theme-pure/2019/11/replication/" class="title">Redis-复制功能探索</a>
</p>
<p class="item-date">
- <time datetime="2019-11-06 19:08:56 &#43;0800 CST" itemprop="datePublished">2019-11-06</time>
+ <time datetime="2019-11-16 14:24:40 &#43;0800 CST" itemprop="datePublished">2019-11-16</time>
</p>
</div>
</li>
<li>
<div class="item-inner">
<p class="item-title">
- <a href="https://xiaohei.im/hugo-theme-pure/2019/11/db/" class="title">Redis-数据库长什么样?</a>
+ <a href="https://xiaohei.im/hugo-theme-pure/2019/11/event/" class="title">Redis-事件</a>
</p>
<p class="item-date">
- <time datetime="2019-11-06 11:00:32 &#43;0800 CST" itemprop="datePublished">2019-11-06</time>
+ <time datetime="2019-11-14 15:01:45 &#43;0800 CST" itemprop="datePublished">2019-11-14</time>
</p>
</div>
</li>
@@ -291,52 +297,14 @@
- <aside class="sidebar sidebar-toc collapse" id="collapseToc" itemscope itemtype="http://schema.org/WPSideBar">
- <div class="slimContent">
- <nav id="toc" class="article-toc">
- <h3 class="toc-title">文章目录</h3>
- <div class="toc-content always-active"><nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#文件事件">文件事件</a>
-<ul>
-<li><a href="#文件事件处理器">文件事件处理器</a>
-<ul>
-<li><a href="#什么是-i-o-multiplexing">什么是 I/O Multiplexing?</a></li>
-<li><a href="#文件事件处理器结构">文件事件处理器结构</a></li>
-<li><a href="#文件事件类型">文件事件类型</a>
-<ul>
-<li><a href="#事件处理的先后顺序">事件处理的先后顺序</a></li>
-</ul></li>
-</ul></li>
-<li><a href="#事件处理器">事件处理器</a>
-<ul>
-<li><a href="#常用时间处理器">常用时间处理器</a></li>
-</ul></li>
-<li><a href="#文件事件处理流程">文件事件处理流程</a></li>
-</ul></li>
-<li><a href="#时间事件">时间事件</a>
-<ul>
-<li><a href="#属性">属性</a></li>
-<li><a href="#时钟问题">时钟问题</a>
-<ul>
-<li><a href="#时间事件执行流程">时间事件执行流程</a></li>
-</ul></li>
-</ul></li>
-<li><a href="#事件循环-event-loop">事件循环 Event Loop</a>
-<ul>
-<li><a href="#aeeventloop">aeEventLoop</a></li>
-<li><a href="#aeprocessevent">aeProcessEvent</a></li>
-</ul></li>
-<li><a href="#参考">参考</a></li>
-</ul></li>
-</ul>
-</nav>
- </div>
- </nav>
- </div>
- </aside>
+<aside class="sidebar sidebar-toc collapse" id="collapseToc" itemscope itemtype="http://schema.org/WPSideBar">
+ <div class="slimContent">
+ <h4 class="toc-title">文章目录</h4>
+ <nav id="toc" class="js-toc toc">
+
+ </nav>
+ </div>
+</aside>
<main class="main" role="main"><div class="content">
<article id="-" class="article article-type-" itemscope
itemtype="http://schema.org/BlogPosting">
@@ -377,7 +345,7 @@
<span class="post-readcount hidden-xs" itemprop="timeRequired">阅读时长:5分 </span>
</div>
</div>
- <div class="article-entry marked-body" itemprop="articleBody">
+ <div class="article-entry marked-body js-toc-content" itemprop="articleBody">
<blockquote>
<p><strong>事件驱动程序设计</strong>(英语:<strong>Event-driven programming</strong>)是一种电脑<a href="https://zh.wikipedia.org/wiki/程式設計">程序设计</a><a href="https://zh.wikipedia.org/wiki/模型">模型</a>。这种模型的程序运行流程是由用户的动作(如<a href="https://zh.wikipedia.org/wiki/滑鼠">鼠标</a>的按键,键盘的按键动作)或者是由其他程序的<a href="https://zh.wikipedia.org/wiki/訊息">消息</a>来决定的。相对于批处理程序设计(batch programming)而言,程序运行的流程是由<a href="https://zh.wikipedia.org/wiki/程式設計師">程序员</a>来决定。批量的程序设计在初级程序设计教学课程上是一种方式。然而,事件驱动程序设计这种设计模型是在<a href="https://zh.wikipedia.org/w/index.php?title=互動程序&amp;action=edit&amp;redlink=1">交互程序</a>(Interactive program)的情况下孕育而生的。 <a href="https://zh.wikipedia.org/wiki/事件驅動程式設計">&ndash;wikipedia</a></p>
</blockquote>
@@ -419,7 +387,7 @@
<h4 id="文件事件处理器结构">文件事件处理器结构</h4>
-<p><img src="https://raw.githubusercontent.com/xiaoheiAh/imgs/master/20191115142151.png" alt="文件事件处理器结构" style="zoom:50%;" /></p>
+<p><img src="https://cdn.jsdelivr.net/gh/xiaoheiAh/imgs@master/20191115142151.png" alt="文件事件处理器结构" style="zoom:50%;" /></p>
<p>每一个套接字 <code>socket</code> 可以执行连接,读写,关闭操作时,会产生一个 <strong>文件事件</strong>.,<code>I/O 多路复用</code> 监听这些 <code>FD</code> 的操作请求,并向 <strong>文件事件派发器</strong> 传递产生文件事件的 <code>FD</code>. 虽然会并发的产生 N 个文件事件,但 <code>I/O多路复用</code> 会将其都放入一个队列中,<strong>顺序且同步地</strong>向 <strong>文件事件分派器</strong> 传送.处理完一个再传下一个.</p>
@@ -731,39 +699,52 @@ if (te-&gt;id == AE_DELETED_EVENT_ID) {
<script src="https://cdn.jsdelivr.net/npm/jquery@3.4.1/dist/jquery.min.js"></script>
<script>
- window.jQuery || document.write('<script src="js/jquery.min.js"><\/script>')
+ window.jQuery || document.write('<script src="js/jquery.min.js"><\/script>')
</script>
<script type="text/javascript" src="https://cdn.staticfile.org/highlight.js/9.15.10/highlight.min.js"></script>
<script type="text/javascript" src="https://cdn.staticfile.org/highlight.js/9.15.10/languages/rust.min.js"></script>
<script type="text/javascript"
- src="https://cdn.staticfile.org/highlight.js/9.15.10/languages/dockerfile.min.js"></script>
+ src="https://cdn.staticfile.org/highlight.js/9.15.10/languages/dockerfile.min.js"></script>
<script>
-hljs.configure({
- tabReplace: ' ',
- classPrefix: ''
-
-})
-hljs.initHighlightingOnLoad();
+ hljs.configure({
+ tabReplace: ' ',
+ classPrefix: ''
+
+ })
+ hljs.initHighlightingOnLoad();
</script>
<script type="text/javascript" src="https://xiaohei.im/hugo-theme-pure/js/application.js"></script>
<script type="text/javascript" src="https://xiaohei.im/hugo-theme-pure/js/plugin.js"></script>
<script>
- (function (window) {
- var INSIGHT_CONFIG = {
- TRANSLATION: {
- POSTS: '文章',
- PAGES: '页面',
- CATEGORIES: '分类',
- TAGS: '标签',
- UNTITLED: '(未命名)',
- },
- ROOT_URL: 'https:\/\/xiaohei.im\/hugo-theme-pure',
- CONTENT_URL: 'https:\/\/xiaohei.im\/hugo-theme-pure\/searchindex.json ',
- };
- window.INSIGHT_CONFIG = INSIGHT_CONFIG;
- })(window);
- </script>
+ (function (window) {
+ var INSIGHT_CONFIG = {
+ TRANSLATION: {
+ POSTS: '文章',
+ PAGES: '页面',
+ CATEGORIES: '分类',
+ TAGS: '标签',
+ UNTITLED: '(未命名)',
+ },
+ ROOT_URL: 'https:\/\/xiaohei.im\/hugo-theme-pure',
+ CONTENT_URL: 'https:\/\/xiaohei.im\/hugo-theme-pure\/searchindex.json ',
+ };
+ window.INSIGHT_CONFIG = INSIGHT_CONFIG;
+ })(window);
+</script>
<script type="text/javascript" src="https://xiaohei.im/hugo-theme-pure/js/insight.js"></script>
+<script src="https://cdnjs.cloudflare.com/ajax/libs/tocbot/4.4.2/tocbot.min.js"></script>
+<script>
+ tocbot.init({
+
+ tocSelector: '.js-toc',
+
+ contentSelector: '.js-toc-content',
+
+ headingSelector: 'h1, h2, h3',
+
+ hasInnerContainers: true,
+ });
+</script>
<script async src="https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
@@ -792,6 +773,5 @@ if (!doNotTrack) {
</script>
<script async src='https://www.google-analytics.com/analytics.js'></script>
-
</body>
</html>