• golang


    上次去ECUG听了一次讲座,了解到这世界上还有一门go语言。最近抽时间学了一下,很优秀的一门语言。

    公司有一个框架,是用c++实现了协程的调度。用它实现“服务节点”非常方便。今天终于把框架里面节点之间是如何

    通信的部分搞懂了。调度的部分还不是特别清楚,正好go实现了调度这部分的功能。所以,计划用go实现一个通用的框架,

    来更快速的开发服务。

    先把基本思路写在这里。

    go中的协程是用chan(管道)通信的,所以可以借鉴actor模式。

    1:每个协程有一个GID,用户可以找到这个协议。

    2:每个协程包含一个chan,其它协程可以通过GID向他发消息,chan里面存放的是消息。

    3:消息包括,消息发送者,消息接受者,消息数据。

    4: 需要有2个映射。

             GID--->协程  

             peer--->GID  peer指的是,和服务建立的每一个连接。

    5:控制消息。(控制协程的退出,错误消息,等等)

    6:消息的方式还是采用消息工厂,这是我很喜欢的一种模式。用消息工厂,反射的去生成消息。

    7:如果协议中没有诸如发送者,接受者之类的信息,还是得提供transltor的形式。

    目标是实现这一一种方式,对于s/c模型,用户只用实现若干个,Prosscor(Message*)函数。其它部分用脚本自动生成代码。

    =================================

    采取边学习,边写的方法

    目前碰到的问题,以及要完成的任务

    1:如何将类型装换成类型名字。如何通过类型名字new一个对象

    2:xcode协议格式。

    3:go中实现继承有哪几种方式。Message需要继承。

  • 相关阅读:
    软件设计师考试知识点总结
    HTML和CSS
    JavaScript核心知识点
    操作系统--页面置换算法(缺页数计算)
    中标麒麟系统远程桌面连接
    数据结构 图
    数据结构 二叉树
    MATLAB 大数据剔除坏值
    PTA 邻接表存储图的广度优先遍历(20 分)
    PTA 邻接矩阵存储图的深度优先遍历
  • 原文地址:https://www.cnblogs.com/xloogson/p/2276101.html
Copyright © 2020-2023  润新知