首页 > 编程知识 正文

线程和进程的关系和区别,c语言中关系运算符有哪些

时间:2023-05-03 23:50:29 阅读:31212 作者:3198

线程是进程的基本执行单元,一个进程的所有任务都在线程中执行

该进程需要线程才能执行任务,并且该进程至少需要一个线程

程序启动时,默认情况下将打开一个称为主线程或UI线程的线程

2 :工艺定义

进程是指在系统上运行的APP应用程序

每个进程都是独立的,每个进程都在专用的受保护内存中运行

3 :进程和线程之间的差异

地址空间:同一进程的线程共享该进程的地址空间,进程之间是独立的地址空间。

拥有—同一进程中的线程共享此进程的资源,如内存、I/O和cpu,但进程之间的资源是独立的。

一个进程崩溃后,保护模式不会影响其他进程,但一个线程崩溃导致整个进程死亡。 所以多进程比多线程更结实。

在流程切换时,消耗的资源大、高效。 因此,在涉及频繁切换的情况下,与进程相比,使用线程更好。 另外,如果需要同时运行并共享特定变量的并发操作,则不能只在线程上使用进程

执行进程:每个独立的进程都有程序运行的入口、顺序运行和程序入口。 但是,线程不能独立运行,并且APP应用程序必须根据存在的APP应用程序提供对多个线程的运行控制。

线程是处理器调度的基本单元,但进程不同。

4 )多线程的含义

好处

能够适当地提高程序执行效率

可以适当提高资源利用率(CPU、存储器)

在线程上执行任务完成后,线程将自动销毁

缺点

打开线程需要一定的内存空间。 默认情况下,每个线程占512 KB )

打开大量线程会占用大量内存空间,从而降低程序性能

线程越多,CPU调用线程的开销就越大

程序的设计变得更加复杂,包括线程之间的通信、多线程数据共享等

5 )多线程原理

(单核cpu )同时,cpu只能处理一个线程。 换句话说,同一时间只运行一个线程

多线程并发:

*是cpu在多个线程之间快速切换

* cpu调度线程的时间足够快,允许多线程“并发”运行

线程数非常多时

* cpu直接在n个线程之间切换,占用大量cpu资源

*每个线程的计划数量减少,线程的执行效率降低

6 )多线程技术方案

多线程技术方案. png

) C和C的桥接

__bridge只执行类型转换,但不修改对象(内存)管理权限

_ _ bridge _ retained (使用cfbridgingretain,将对象- c中的对象转换为核心基础中的对象,同时将对象(内存)的管理权传递给我们然后,必须使用CFRelease或相关方法释放对象。

* _ _ bridge _ transfer (使用cfbridgingrelease将Core Foundation对象转换为Objective-C对象,同时将对象(内存)的管理权限转换为aaabjective

8 :线程生命周期

线程生命周期. png

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。