划重点2

关于技术选型的思考

技术选型要考虑:

  • 业务的需求(比如说并发、存量等)
  • 项目的上线时间,所以对于项目时间紧迫的,通常是先上线,再迭代

设计一个服务要考虑什么

  • 明确需求
  • 技术选型
  • 开发时间
  • 运维成本

Go 学习之并发

  • 在golang中是通过goroutine来实现并发的,goroutine并不能简单的归纳为协程,其运行时会创建多个线程来实现并发任务,且任务单元可被调度到其他线程并行执行。所以goroutine更像是多线程和协程的综合体,能最大限度提升执行效率,发挥多核处理能力。
  • 每个任务单元除保存函数指针、调用参数外,还会分配执行所需的栈内存空间。相比系统默认MB级别的线程栈,goroutine自定义栈仅需2KB,所以才能创建成千上万的并发任务。自定义栈采取按需分配策略,在需要时仅需扩容,最大能到GB规模。

你可能感兴趣的:(划重点2)