记录: 开发中的2个线程的使用问题
2017-05-18 18:13
351 查看
长时间任务导致parser线程阻塞的一个问题
在一个网络程序中,有一个网络数据缓冲池,所有网络进来的数据会先放到缓冲池中。然后又Parser线程来进行解包,粘包处理,得到的数据包解析后,执行相应的操作。其中有个操作,会执行very long 的时间,此时就会导致parser线程阻塞住,线程状态变成了
ThreadState.WaitSleepJoin.
而且由于时间过去稍长,一下子还不知是啥问题。
经过检查,才发现是后期添加的一个处理,直接调用的操作会耗费很长时间。
现在就好解决了,让长时间的耗时操作放在一个线程中进行处理,问题解决。
线程池中线程执行时机
开发团队中,使用一个线程池,其中的线程处理任务完成的处理。客户端在处理任务完成时,会执行2个操作,一个是上报完成,一个再接着请求下个操作。但是由于完成操作使用了线程池的线程来处理完成操作。有个弟兄想当然地认为这个操作会立即完成。没有同步这些线程操作– 结果导致一个随机问题,给查找问题带来极大的困难了–任务在后面的请求操作处理后,完成任务的线程才执行。导致后面的逻辑错误。相关文章推荐
- 记录开发时的小问题——线程的使用
- Android高手进阶教程(十九)之---Android开发中,使用线程应该注意的问题!
- Android高手进阶教程(十八)---Android开发中,使用线程应该注意的问题!
- Arduino单片机使用和开发问题记录(转)
- 使用python开发桌面应用程序的框架选择及一些可能出现的问题记录
- Android开发中,使用线程应该注意的问题!
- [开发笔记]-sqlite数据库在使用时遇到的奇葩问题记录
- [Android开发]使用XUtils框架出现的问题记录
- Android开发中,使用线程应该注意的问题
- Android高手进阶教程(十九)之---Android开发中,使用线程应该注意的问题!
- Android高手进阶教程(十九)之---Android开发中,使用线程应该注意的问题!
- Android开发中,使用线程应该注意的问题!
- 开发工具使用问题记录
- Android高手进阶教程(十九)之---Android开发中,使用线程应该注意的问题!
- JavaWeb开发之Servlet中的线程问题及使用ServletConfig对象操作Servlet中的参数
- Android高手进阶教程(十九)之---Android开发中,使用线程应该注意的问题!
- Arduino单片机使用和开发问题记录
- 使用Unity3D进行HTC Vive开发过程中遇到问题记录
- 移动端页面使用单位的问题:关于px、百分比、em、rem开发中逐渐转换的问题记录
- [Phonegap+Sencha Touch] 移动开发54 初次使用Android Studio遇到的2个问题