美文网首页
在主线程上可以处理的事情,为什么要开启子线程去处理

在主线程上可以处理的事情,为什么要开启子线程去处理

作者: 鼾声鼾语 | 来源:发表于2020-04-03 09:47 被阅读0次

    1,一般情况我们会将耗时的操作放到子线程中去,
    原因是耗时的复杂操作如果一旦放到主线程上去的话,会导致主线程卡死等情况的发生,我们一般会在主线程的界面按钮事件中开启一个子线程,这样的话将耗时的操作放到子线程中去,我们就可以在主界面做其他的操作。通常情况下,我们也不会在主界面进行其他的操作了,也就是可能更新一下进度等。
    但是如果不将复杂操作放到子线程中去,主界面有可能出现卡死等情况的发生,手误碰到主界面等情况下,会出现卡死。

    2,但是需要注意的是,当子线程在运行的时候,我们返回了主界面,进入到别的界面,如果点击了一个按钮,这个时候就会重新创建一个子线程。尤其是在故障诊断等报文操作的时候,会出现报文回复错乱的情况,通常我们我们基本将界面限制在当前功能界面下,避免出现这种问题,科学的做法是,我们需要在返回主界面的时候,关闭当前的子线程,这样更加的科学。

    3,现在碰到一个问题,如果发送数据为多帧,是不是需要新开启一个发送线程,同时开通一个接受线程,发送线程发送数据后等待接受线程响应,然后再继续发送。有待于确认。
    如果将发送放到主线程,只建立一个子线程的话,这样应该也行,两个方案需要确认。

    相关文章

      网友评论

          本文标题:在主线程上可以处理的事情,为什么要开启子线程去处理

          本文链接:https://www.haomeiwen.com/subject/ugbcphtx.html