当用户界面编码时,一种常用的范式就是"异步执行任务"(perform task asynchronously)。这种范式的好处在于:处理用户界面的显示及触摸操作所用的线程,不会因为要执行I/O或网络通信这类耗时的任务而阻塞。这个线程通常称为主线程(main thread)。假设把执行异步任务的方法做成同步的,那么在执行任务时,用户界面就变得无法响应用户输入了。某些情况下,如果应用程序在一定时间内无响应,那么就会自动终止。iOS系统上的应用程序就是如此,"系统监控器"(system watchdog)在发现某个应用程序的主线程已经阻塞了一段时间后,就会令其终止。
网友评论