objective-c - 基础篇 - 数据库网络 -- 进程和线程--NSThread

这篇博客介绍了Objective-C中关于进程和线程的基础知识,强调了线程同步和多线程使用场景的重要性。文中通过实例详细讲解了如何使用NSThread创建线程,包括类行为和对象行为两种方式,并讨论了线程加锁的必要性,以及如何通过线程名称观察线程执行情况。
摘要由CSDN通过智能技术生成

一、进程和线程(可以参考自己项目:61天-数据库网络--多线程之NSThread)

1:一个应用程序就是一个进程,之后进程下面包括多个线程(至少一个线程)。

2:计算机是以线程为单位的。

3:线程是同步的。

4:假如我们的电脑是双核的,那么就可以同时运行两个线程,而其他的线程就需要等待CPU的分配。

5:通过时间片的切割,来切换线程。(时间片切割就是线程所需占用时间是多少,占用时间越多,说明抢占到的机会越大)

6:线程加锁----由于线程是同步的,所以有时候会出现不同线程同时运行一个事件的情况(例如买火车票事件中,窗口一、和窗口二就可能同时会在休眠的时候,同时卖第3张票),所以我们就需要对事件进行加锁(而且必须是同一把锁),从而避免上述情况。同时也需要在相应地方解锁

7:使用多线程的情况:

     (1):我们想使一个应用程序抢占过多的系统资源时就是用多线程技术,因为一个进程就是多个线程,线程越多抢占CPU就越多,比如说抢占CPU的时间。

     (2):一个应用程序中,有一个A线程需要一直运行或者运行时间很长,那么我们就要使用多线程,使这个A线程可以在后台运行,避免只有一个A线程而导致整个应用程序都停着等待A线程的结束。

     (3):做一件事情时,我们想让多个应用程序一起来做,比如我们要下载一个文件,不过这个文件特别大,那么我们就可以通过三个线程来分别下载该文件的一部分。

    (4):启动线程的方式有一种是:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值