【skynet】 skynet 之 snax

2023-11-10

local skynet = require "skynet"
local snax = require "snax"

local p_calc = nil

-- 初始化函数
function init()
    local seed = math.floor(skynet.time())
    math.randomseed(seed)
    p_calc = snax.newservice("calc", seed)
end

-- 服务函数
local skynet = require "skynet"
local snax = require "skynet.snax"

local p_calc = nil

-- 初始化函数
function init()
    local seed = math.floor(skynet.time())
    math.randomseed(seed)
    p_calc = snax.newservice("calc", seed)
end

-- 服务函数
function task_add()
    while true do
        -- 加法
        local a = math.random(1, 100)
        local b = math.random(1, 100)
        local c = math.random(1, 100)
        local res = p_calc.req.add(a, b, c)
        skynet.error(a .. " + " .. b .. " + " .. c .. " =" .. res)

        -- 睡眠一秒
        skynet.sleep(100)
    end
end

function task_sub()
    while true do
        -- 减法
        local lhs = math.random(1, 100)
        local rhs = math.random(1, 100)
        p_calc.post.sub(lhs, rhs)

        -- 睡眠两秒
        skynet.sleep(200)
    end
end

-- 注册初始化函数
skynet.init(init)

-- 启动服务
skynet.start(function()
    -- 分开两个协程执行
    skynet.fork(task_add)
    skynet.fork(task_sub)
end)
local skynet = require("skynet")

-- 处理加法 req - response
function response.add(...)
    local res = 0
    for i, v in ipairs{...} do
        res = res + v
    end
    return res
end

-- 处理减法 post - accept
function accept.sub(lhs, rhs)
    local res = lhs - rhs
    skynet.error(lhs .. " - " .. rhs .. " = " .. res)
end

function init(...)
    skynet.error(...)
end

function exit(...)
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【skynet】 skynet 之 snax 的相关文章

  • hp服务器显示完logo就黑屏,惠普电脑开机出现惠普标志后 便黑屏了是为什么

    惠普电脑开机出现惠普标志后黑屏的原因及解决办法 一 原因 1 内存条 显示器 显卡等硬件设备接触不良 2 电脑灰尘比较多使得散热不良致使CPU或显卡芯片温度过高而死机 3 恶意病毒入侵 破坏系统 4 系统文件损坏 二 解决办法 1 检查显示
  • 数据传输-零拷贝机制

    传统 IO 在开始谈零拷贝之前 首先要对传统的 IO 方式有一个概念 基于传统的 IO 方式 底层实际上通过调用read 和write 来实现 通过read 把数据从硬盘读取到内核缓冲区 再复制到用户缓冲区 然后再通过write 写入到so
  • Tensorflow新手通过PlayGround可视化初识神经网络

    北京 上海巡回站 NVIDIA DLI深度学习培训 2018年1月26 1月12日 NVIDIA 深度学习学院 带你快速进入火热的DL领域 阅读全文 gt
  • 【网络基础】通俗易懂的搞明白什么是IP地址(小白向)

    目录 前言 IP协议 IP地址 查看IP地址的方法 公有IP地址与私有IP地址 IP地址的分类 网络路由传输流程简化版 IP地址过去的分类 过去分类带来的问题 前言 由于博主是一个刚转行没多久的前端 所以本次的文章也是面向像我一样的小白 内
  • ADS1220调试

    最近在调试ADS1220已经调试成功 后续补全此文 有问题联系我qq625895734
  • 电子病历与HIS的区别以及发展前途

    电子病历与HIS的区别以及发展前途 袁永福 http www xdesigner cn 2006 12 16 以下是我个人观点 可能有不足或错误 基本介绍 医院信息管理系统 History Information System 简称HIS
  • SimpleFOC移植STM32(七)—— 移植STM32F405RGT6

    目录 说明 一 点亮LED 1 1 原理图 1 2 硬件准备 1 3 烧写 二 开环控制 2 1 硬件准备 2 2 硬件连接 2 3 打开工程 2 4 修改参数 2 5 编译下载 观察运行 三 角度读取 3 1 硬件准备 3 2 硬件连接
  • 概要设计文档编写规范

    原文链接 https blog csdn net nengyu article details 3758312 做软件到一定层次了 就要考虑到设计了 设计了很久 就是不系统 系统的设计需要一个记录 记录就用文档 那么对项目所有包括技术上的设
  • HTML5-长按事件

    div style width 100 div style width 90 height 200px background color CCC font size 48px 长按我 div div
  • OpenGL编程入门

    1 用Ubuntu开发OpenGL程序 http www linuxidc com Linux 2011 09 42146 htm 2 Ubuntu下搭建OpenGL开发环境 HelloWorld http eddiezh iteye co
  • 最近接触的技术汇集帖

    最近在网上查资料碰到好多没接触过的技术 先汇总在这里备用 以后慢慢吸收 1 JNA JNI的替代品 调用方式比JNI更直接 不再需要JNI那层中间接口 几乎达到Java直接调用动态库 2 SmallSQL 基于JDBC3 0转为Deskto
  • vue中动态修改style(修改伪元素样式),样式中使用data里面的数据

    需求 伪元素高度使用data中的变量 对其进行动态修改 实现 css less中使用变量的方式 声明css变量的时候 变量名前面要加两根连词线 变量名大小写敏感 header color和 Header Color是两个不同变量 var 函

随机推荐

  • C++中的类——构造函数

    一 什么是构造函数 每个类都分别定义了它的对象被初始化的方式 类通过一个或几个特殊的成员函数来控制其对象的初始化过程 这些函数叫构造函数 构造函数的任务是初始化类对象的数据成员 无论何时只要类的对象被创建 就会执行构造函数 二 构造函数的定
  • 李宏毅 机器学习 2016 秋:7、Brief Introduction of Deep Learning

    文章目录 7 Brief Introduction of Deep Learning 7 Brief Introduction of Deep Learning Deep learning 现在非常的热门 所以 它可以用在什么地方 我觉得真
  • 输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。

    include
  • 多维时序

    多维时序 MATLAB实现TPA LSTM 时间注意力注意力机制长短期记忆神经网络 多输入单输出 目录 多维时序 MATLAB实现TPA LSTM 时间注意力注意力机制长短期记忆神经网络 多输入单输出 预测效果 基本介绍 环境介绍 程序设计
  • Bellman-Ford算法和Dijkstra算法分别适用的情况有何不同?

    Bellman Ford算法和Dijkstra算法分别适用的情况有何不同 Bellman Ford 求单源最短路 可以判断有无负权回路 若有 则不存在最短路 时效性较好 时间复杂度O VE Bellman Ford算法是求解单源最短路径问题
  • 仅做笔记用:Stable Diffusion 通过 ControlNet 扩展图片 / 扩图

    发觉之前的 Outpainting 脚本效果仍旧不是很理想 这里又找了一下有没有效果更好的途径来扩图 于是就找到了通过 ControlNet 的方式来实现效果更好的扩图 这里临时记录一下在 Stable Diffusion 怎么使用 Con
  • 【VS编译器】使用scanf函数的方法

    1 VS中使用scanf函数的问题 VS中运行以下代码 include
  • windows杀死nginx进程

    查看80端口号列表 tasklist findstr 80 根据端口号查看nginx tasklist findstr 28024 杀死nginx进程 taskkill f t im nginx exe
  • OC门与OD门以及线与逻辑

    OC Open Collector 门又叫集电极开路门 主要针对的是BJT电路 从上往下依次是基极 集电极 发射极 OD Open Drain 门又叫漏极开路门 主要针对的是MOS管 从上往下依次是漏极 栅极 源极 线与逻辑指的是两个输出端
  • [从零开始学习FPGA编程-22]:进阶篇 - 架构 - FPGA内部硬件电路的设计与建模

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 目录 前言 第1章 什么是数字硬件电路 1 1 什么是硬件电路
  • 使用docker-compose启动docker镜像报错exec ./docker-entrypoint.sh: no such file or directory

    报错原因 exec docker entrypoint sh no such file or directory 我们可以在linux下通过cat v命令查看 sh文件 例 cat v Dockerfile WORKDIR tools M
  • 二维向量叉积的几何意义

    叉乘 cross product 相对于点乘 叉乘可能更有用吧 2维空间中的叉乘是 V1 x1 y1 X V2 x2 y2 x1y2 y1x2看起来像个标量 事实上叉乘的结果是个向量 方向在z轴上 上述结果是它的模 在二维空间里 让我们暂时
  • Zotero 知网 PDF与CAJ 抓取模式切换

    Zotero可以通过安装茉莉花插件 jasminum 一键安装https github com l0o0 translators CN内的中文翻译器 从而实现对知网文献元数据以及相应PDF的抓取 但是在使用过程中我发现 由于知网对于学位论文
  • Visual Studio开始Python编程 && Windows下用PyCharm

    Windows搭建python开发环境 首先需要去python的官网下载环境 鼠标移动到Downloads的tab上 在这里可以下载 python的环境还是很人性化的 没有那么多罗里吧嗦的配置什么的 下载好以后直接无脑next就行了 直到f
  • VS中为QT项目添加多个ui

    在VS中创建QT项目 如下图所示 这里已经有一个 ui文件 现在的目标是再添加一个 ui文件并使之在项目中可用 添加新的 ui文件 右击项目 gt 添加 gt 新建项 gt Visual C gt QT 选择一个模板 如 Qt Dialog
  • 目标检测模型从训练到部署,其实如此简单

    目标检测的任务是找出图像中所有感兴趣的目标 物体 确定它们的类别和位置 是计算机视觉领域的核心问题之一 目标检测已应用到诸多领域 比如如安防 无人销售 自动驾驶和军事等 在许多情况下 运行目标检测程序的设备并不是常用的电脑 而是仅包含必要外
  • 分布式事务管理(Seata)

    文章目录 1 概述 分布式事务问题 什么是Seata Seata术语 怎么用 Windows安装 Docker安装 MySQL nacos seata 2 配置官网案例 分析业务逻辑 创建数据库 订单模块 建Module POM YML f
  • Qt 的一些心得

    一 背景刷成黑色 前景色设为白色 方法一 paltette方式 经测试 该方法不会影响到其他控件 推荐使用 QPalette bgpal palette bgpal setColor QPalette Background QColor 0
  • Vue.js基本指令

    目录 插值表达式 v html和v text指令 例1 v on指令 例1 v model指令 例1 v if指令 例1 判断二月份有几天 例2 比较两个数的大小 v show指令 v if和v show的区别 v for 指令 遍历数组
  • 【skynet】 skynet 之 snax

    local skynet require skynet local snax require snax local p calc nil 初始化函数 function init local seed math floor skynet ti