liuweibo666 2017-10-27 12:09 采纳率: 100%
浏览 1449
已采纳

面试中遇到的一个关于线程的问题,希望有大神给予帮助,蟹蟹

问题是这样问的:面试的公司是一家保险公司,如果想要实现一下功能:用户在PC端提交表单的同时,服务器需要立刻向客户的手机发送一些短信消息,中间间隔的时间越短越好,请问用多线程怎么解决这个问题?作为一个小学生,我表示有些蒙圈

  • 写回答

6条回答 默认 最新

  • 郭建堂 2017-10-30 03:32
    关注

    "中间间隔的时间越短越好"
    这个应该是主要需求, 提交表单以后, 服务器可能要做一些IO操作或者其他的逻辑操作. 如果等这些稍微费时的操作执行完成后再发信息给用户可能有些延迟.
    这里用异步的做法.
    服务端有主逻辑线程 A, 再开一个负责IO(数据库操作等等)的线程 B ,再开一个负责发短信的进程 C.
    表单提交后, A直接把这个IO或者逻辑操作丢给 B, 并且立即返回认为已经成功了,这时再把发信息的任务丢给C认为已经成功了.
    应该是异步的思想 ,异步的坑点就不讨论了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?