欢迎来到天天文库
浏览记录
ID:49260129
大小:498.21 KB
页数:28页
时间:2020-02-01
《突破Objective-C开发速学手册之进程和线程.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第13章进程和线程一般来说,进程(Process)就是正在计算机中执行的程序。而线程(Thread)是进程中的某个单一顺序的控制流。线程是进程的细化,它是进程中的实体。本章主要讲解进程操作的一些常用方法和线程的操作等。13.1进程进程从狭义角度说是程序的执行过程。使用NSProcessInfo方法可以获取将前的进程信息,例如,当前机器的名称,操作系统类型等。本节主要讲解有关进程的基本操作。13.1.1创建进程我们在使用进程之前必须要将进程的头文件引入。13.1.1创建进程13.1.2进程的使用当我们
2、创建好进程以后,就要对进程执行操作。接下来主要讲解对进行的操作等相关方面的内容。1.放回进程号当我们要查看操作系统分配给一个进程的进程号时,可以采用processIdentifier()方法。2.返回进程的名称processName()方法用来返回进程的名称。3.返回主机的名称hostName()方法使用来返回主机的名称。4.操作系统版本信息当我们要对操作系通过的版本需要了解时,可以使用operatingSystemVersionString()方法查看版本信息。13.1.3进程方法总结我们对进程的
3、一些基本操作做了详细的介绍。展现在我们将进程的操作方法做一个简单的总结。方法说明+(NSProcessInfo)processInfo返回当前的进程信息-(NSArray)arguments返回程序执行的参数-(NSDictionary)processName返回进程名称-(int)processIdentifier返回进程号-(NSString)globallyUniqueString让系统生成一个唯一的字符串。之歌值保证是不重复的-(NSString)hostName返回主机名-(NSUInte
4、ger)operatingSystem返回操作系统的信息(是一个数字,5表示Mac操作)-(NSString)operatingSystemName返回操作系统名称-(NSString)operatingSystemVersionString返回操作系统的版本信息-(NSDictionary)environment返回当前环境变量和它的值13.2线程线程是进程的细化。每一个程序至少要有一个线程,这个线程称为主线程。你可以将线程想象成为指令按顺序执行的应用的一行代码的执行。本节主要讲解有关线程的创建、
5、启动、访问等相关的知识。13.2.1使用NSThread创建线程在我们使用线程之前,要将线程的头文件引入。13.2.1使用NSThread创建线程13.2.1使用NSThread创建线程13.2.2启动线程使用detachNewThreadSelector:toTarget:withObject()方法和新建一个线程对象并初始化在创建好线程以后,它们并没有真正的启动线程。为了启动一个线程可以使用start()方法。1.单个线程的启动使用start的形式。2.同时运行多个线程有的时候线程不是只有一个在
6、运程,而是有多个线程同时在运行。13.2.3访问主线程当我们要访问主线程是可以通过performSelectorOnMainThread()方法来实现。13.3互斥锁互斥锁也叫互斥体。它的作用是可以防止同时访问同一内存。之所以叫互斥锁是因为它会锁住对内存的访问,并使得在某一时刻可以独占访问一个线程。Objective-C提供了一种简单的互斥锁NSLock和使用@synchronize关键字。13.3.1NSLock要使用NSLock互斥锁,就要先将锁的头文件进入。1.互斥锁的创建要使用互斥锁,引入互
7、斥锁的头文件是不够的,还需要我们创建一个互斥锁。2.互斥锁的调用当我们创建好互斥锁以后,要对它进行使用,这时我们就要对互斥锁进行调用。3.关闭互斥锁当我们在所用完互斥锁以后,就要将它关闭。关闭互斥锁的形式如图13.21所示。13.3.2@synchronize我们在使用NSLock的时候,如果忘记将程序中的NSLock解锁就很容易造成死锁。为了避免这种麻烦,Objective-C提供了@synchronize。它是一种内置的语言指令。该指定提供了包括特定作用域和变量参数的内置的底层互斥机制。也就是说
8、它可以为一个变量指定上锁。13.3.2@synchronize13.4进程和线程的区别进程是应用程序的运行实例,自己享有独立的地址空间。对于多任务操作系统,能够“同时”运行多个进程。但这些是CPU的分时机制在起作用,能够使每个进程都能循环获得自己的CPU时间片。进程(process)本质上是操作系统当前运行的执行程序。13.4进程和线程的区别13.5小结本章主要讲解了进程的创建、使用和线程的创建、启动、访问等相关方面的知识。本章的重点在于会对进程的一些相关方法进行操作
此文档下载收益归作者所有