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

在第3行执行了一个名为“ls”的命令 , 这个命令的作用是列出当前文件夹下的所有文件或子文件夹的名称 , 第4行到第5行是当前文件夹下所有文件或子文件夹的名称 。 如果把“ls”命令单独写成一个文件 , 这个包含一条指令的文件就是一个脚本文件 。 实际应用中 , 脚本文件通常会由多个指令组合而成 , 经过计算机的解析和执行来完成一个复杂的处理任务 。

8、同步处理和异步处理

同步和异步是开发技术中的两个概念 , 计算机通过解析和运行程序完成相应的操作 。 在程序执行过程中会涉及同时处理多个任务或者同一时间只处理一个任务的情况 。 在前面的章节中我们介绍过什么是进程和线程 , 一个进程中包含多个执行任务的线程 。

以用户登录为例 , 登录任务是在一个登录线程中执行的 , 登录任务执行过程中除了验证用户名和密码是否正确外 , 还需要处理其他子任务 , 例如从服务器获取用户信息 , 更新本地缓存信息等 。 这些子任务通常会在新开辟的子线程里执行 。 执行登录的线程可以称为主线程 , 执行获取用户信息的线程称为子线程 。

在一个登录操作过程中分别执行两个任务 , 这个过程就叫作异步处理 。 异步处理不会造成线程阻塞 , 相当于各自处理各自的任务 。 如果所有的任务都在一个线程中处理 , 那就会出现资源占用过多和响应时间过长的情况 , 例如我们在使用一些安卓APP时偶尔会出现应用程序闪退的情况 , 这有可能是因为出现了线程死锁 。

推荐阅读