产品经理必懂的技术术语(学习笔记)( 八 )

例如 , 我们在手机上使用微信或者微博 , 就有分别属于微信和微博的系统进程 。 一旦关闭应用程序或因为系统资源紧张而自动关闭在后台运行的应用程序 , 进程就会被终止 , 同时对应的进程所占用的系统资源也会被释放 。

相比于进程 , 线程是一个更小的执行单元 , 一个运行中的应用程序是一个进程 , 一个进程中可以存在多个线程 , 每一个子任务都可以理解为是运行中的一个线程 。 我们以微博为例 , 运行中的微博是一个系统进程 , 可以上传照片发布微博 , 也可以上传视频发布微博 。

用户上传照片的任务在一个独立的线程中运行 , 上传视频的任务也在一个独立的线程中运行 , 并且这两个任务可以同时运行互不影响 , 这种方式叫异步线程处理 , 即可以并行互不干扰完成各自的子任务 。 当然 , 还有一种线程处理方式叫同步线程 , 即子任务是按照一定的顺序完成的 。

产品之所以能同时完成很多功能 , 就是因为线程的存在 , 尤其是涉及需要网络请求的一些功能时 , 例如用户在微信中发布朋友圈后有可能立马去刷新朋友圈 , 这时可能刚刚发布的内容还没有上传成功 , 所以在技术实现时会用两个线程分别处理发布和获取新信息的子任务 。 这样做既能保证用户体验 , 也能保证系统资源被合理地分配和利用 。

推荐阅读