探索文件操作与并发编程
1. 文件操作与字符串编码
在文件操作方面,我们可以使用Cocoa来访问文件及其元数据。同时,也对字符串编码有了一定了解,以及Cocoa是如何处理它们的。另外,还看到了一个由Cocoa绑定驱动的图形用户界面(GUI)示例。除了打开文件的菜单项外,这里的所有操作都是通过绑定完成的,包括在弹出列表中设置值,这最终会导致文本字段重新加载。这种交互比较复杂,在熟悉之前,可能不太容易理解其工作原理,因为部分操作是在幕后通过Cocoa绑定完成的。
2. 并发编程的挑战与必要性
在软件开发中,编写能够同时执行多项任务的软件是一项重大挑战。过去,计算机通过快速切换任务来营造并发的假象,而如今的计算机通常拥有多个计算核心,能够真正同时执行多项任务。然而,即使计算机硬件和操作系统具备多核处理能力,编写能够有效利用多核的应用程序软件仍然具有技术挑战性。在大多数开发环境中,默认假设代码是按顺序执行的,将任务拆分以实现并发执行是一项艰巨的任务。
当应用程序无法响应用户操作时,OS X会出现旋转磁盘光标(有时称为“死亡旋转沙滩球”),这通常在点击按钮或菜单项触发耗时操作后出现。OS X检测到进程未处理输入事件时,会显示该光标以提醒用户。当应用程序完全停止响应并即将崩溃(或被用户终止)时,也会出现这种情况。因此,为了避免用户看到旋转磁盘光标并确保用户能够继续与应用程序交互,我们需要让长时间运行的操作在后台执行,同时让应用程序正常处理用户输入事件。
3. 示例应用:SlowWorker
为了演示并发选项,我们创建一个名为SlowWorker的简单应用程序,该应用程序模拟执行一些长时间运行的操作,如从服务器获取数据和进行计
超级会员免费看
订阅专栏 解锁全文
5万+

被折叠的 条评论
为什么被折叠?



