相关分享
以非阻塞方式执行一个函数
用过 skynet 的应该都碰到过:当我们在服务中不小心调用了一个长时间运行而不返回的 C 函数,会独占一个工作线程。同时,这个被阻塞的服务也无法处理新的消息。一旦这种情况发生,看似是无解的。我们通常认为,是设计问题导致了这种情况发生。skynet 的框架在监测到这种情况发生时,会输出 maybe in an endless loop 。
如果是 Lua 函数产生的死循环,可以通过发送 signal 打断正在运行运行的 Lua 虚拟机,但如果是陷入 C 函数中,只能事后追查 bug 了。
那么,如果我原本就预期一段 C 代码会运行很长时间,有没有可能从底层支持以非阻塞方式运行这段代码呢?即,在这段代码运行期间,该服务还可以接收并处理新的消息?
利用HAR文件查看和诊断网络请求
HAR(HTTP 归档)是多种 HTTP 会话工具用来导出所记录数据的 一种文件格式。这种格式基本上是 JSON 对象,并具有一组特定的字段。请注意,并非所有 HAR 格式的字段都是必填字段, 很多时候,部分信息不会保存到文件中。
如何使用 journalctl 查看和分析 systemd 日志(附实例)
本指南介绍了systemd的 journalctl 工具及其各种命令的基础知识。你可以使用这些命令对 Linux 中的桌面和服务器日志进行故障诊断。以下是如何使用 journalctl 查看和分析 systemd 日志的不同例子。
可信执行环境之AMD内存加密技术概述
本文将简单介绍主流可信执行环境技术之一的AMD内存加密技术,简述其技术架构、原理与应用场景。
Webpack 打包后代码执行时机分析与优化
代码执行时机将决定着是否能够正常执行,当依赖文件没加载完成就开始执行、使用对应模块,那么将会导致执行异常。这在 “存在资源加载失败时,加载重试影响原来文件的执行顺序” 的场景下尤为常见。
webpack 构建除了进行模块依赖管理,实际上,也天然地管理了 entry 与 chunk 多文件的执行时机,但缺少了对 external 文件管理,当 external 文件加载失败或未完成时,执行、使用对应模块同样将导致异常。为此,wait-external-webpack-plugin 应运而生,以 webpack 插件的形式,补充 external 的执行管理。本文将进行简要说明。
谨慎!糟糕程序员的编程风格查看
有一种说法是,“一个伟大的程序员相当于10个平庸的程序员”。
没有人愿意被贴上了糟糕程序员的标签,但一个可悲的事实是,很多开发人员没有意识到他们自己就属于这一群体。没有人愿意问自己:我是一个糟糕的开发人员吗?
关于 IPv6 国家有大动作啦!快来瞅瞅行动计划都说了什么~
这个通知,简而言之是要大力推动我国的 IPv6 规模化部署。要知道截至 2020 年 11 月,我国 IPv6 活跃用户数已达 4.35 亿,IPv6 地址分配也已经是世界第一。这个 IPv6 到底有什么魔力值得我们这么大力推广?
关于 IPv6 国家有大动作啦!快来瞅瞅行动计划都说了什么~
这个通知,简而言之是要大力推动我国的 IPv6 规模化部署。要知道截至 2020 年 11 月,我国 IPv6 活跃用户数已达 4.35 亿,IPv6 地址分配也已经是世界第一。这个 IPv6 到底有什么魔力值得我们这么大力推广?
MyBatis的执行流程,写得太好了!
MyBatis可能很多人都一直在用,但是MyBatis的SQL执行流程可能并不是所有人都清楚了,那么既然进来了,通读本文你将收获如下:
Google新动态:开发者计划政策的内容更新和变动
众所周知,Google Play Store 在安全性、审核严格程度上并不如苹果 App Store,但 Google 仍然在持续不断地改善整体情况,为用户带来更好的软件环境。为此,Google 现在披露了它在 2020 年用于打击恶意应用程序和开发人员的各种方法,并分享了一些附带的统计数据。
