当前位置: 首页 > wzjs >正文

网站运营的含义是什么通过企业画册宣传_网络网站建设_新闻媒体合作等方式_

网站运营的含义是什么,通过企业画册宣传_网络网站建设_新闻媒体合作等方式_,班级管理网站开发,宁波seo基础入门💓个人主页:mooridy 💓专栏地址:Linux 关注我🌹,和我一起学习更多计算机的知识! 🔝🔝🔝 什么是线程 程序中的一个执行路线就叫做线程 一个进程至少要有一个执行线程,单…

💓个人主页:mooridy
💓专栏地址:Linux
关注我🌹,和我一起学习更多计算机的知识!

🔝🔝🔝

什么是线程

程序中的一个执行路线就叫做线程

  • 一个进程至少要有一个执行线程,单个进程本身就是一个执行流,所以单个进程某种意义上也是一个线程(是主线程).线程在进程内部运行,本质是在进程地址空间内运行
  • 在Linux操作系统下,线程就是轻量化进程,线程是没有独立的地址空间的PCN结构,线程的资源是主线程共享给它们的。
    ![[Pasted image 20250325104542.png]]

线程的优点

• 线程的创建时间比进程快
因为进程在创建的过程中,还需要资源管理信息,比如内存管理信息、文件管理信息,而线程在创建的过程中,不会涉及这些资源管理信息,而是共享它们;

• 同一个进程内的线程切换比进程切换快
因为线程具有相同的地址空间(虚拟内存共享),这意味着同一个进程的线程都具有同一个页表,同一个虚拟地址空间,那么在切换的时候不需要切换页表。同时也不会扰乱处理器的缓存机制。
• 线程之间的数据交互效率更高
由于同一进程的各线程间共享内存和文件资源,那么在线程之间数据传递的时候,就不需要经过内核了;

线程异常

线程是进程的执⾏分⽀,线程出异常,就类似进程出异常,进⽽触发信号机制,会终⽌整个进程,该进程内的所有线程也就随即退出。

线程与进程的比较

进程资源分配的单位,线程CPU 调度的单位;
• 进程拥有一个完整的资源平台,而线程只独享必不可少的资源,如寄存器和栈、线程ID、信号屏蔽字、调度优先级

进程的多个线程共享

同⼀地址空间,因此Text SegmentData Segment都是共享的,如果定义⼀个函数,在各线程中都可以调⽤,如果定义⼀个全局变量,在各线程中都可以访问到,除此之外,各线程还共享以下进程资源和环境:
⽂件描述符表、每种信号的处理⽅式(SIG_ IGN、SIG_ DFL或者⾃定义的信号处理函数)、当前⼯作⽬录、用户id和组id

主线程的PID和LWP相同,CPU调度时是在看LWP,而不是PID,线程的PID和主线程相同,自己独有LWP

Linux线程控制

POSIX线程库

由于pthred是第三方库
所以编译时要加上-lpthread的字段

如何创建线程
功能:创建⼀个新的线程原型:int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void*), void *arg);参数:thread:返回线程IDattr:设置线程的属性,attr为NULL表⽰使⽤默认属性start_routine:是个函数地址,线程启动后要执⾏的函数arg:传给线程启动函数的参数返回值:成功返回0;失败返回错误码
如何终止线程
  1. 从线程函数return。这种⽅法对主线程不适⽤,从main函数return相当于调⽤exit。(大多数情况)

  2. 线程可以调⽤pthread_ exit终⽌⾃⼰。

功能:线程终⽌
原型:void pthread_exit(void *value_ptr);参数:value_ptr: 指向退出状态的指针,可传递任意类型数据value_ptr不要指向⼀个局部变量。
返回值:⽆返回值,跟进程⼀样,线程结束的时候⽆法返回到它的调⽤者(⾃⾝)
  1. ⼀个线程可以调⽤pthread_ cancel终⽌同⼀进程中的另⼀个线程。
功能:取消⼀个执⾏中的线程原型:int pthread_cancel(pthread_t thread);参数:thread:线程ID返回值:成功返回0;失败返回错误码
如何进行线程等待
功能:等待线程结束原型int pthread_join(pthread_t thread, void **value_ptr);参数:thread:线程IDvalue_ptr:它指向⼀个指针,后者指向线程的返回值返回值:成功返回0;失败返回错误码

假如不进行线程等待,可能会出现类似于僵尸进程的问题

调⽤该函数的线程将挂起等待,直到id为thread的线程终⽌。

如何进行线程分离
  • 默认情况下,新创建的线程是joinable的,线程退出后,需要对其进⾏pthread_join操作,否则⽆法释放资源,从⽽造成系统泄漏。
  • 如果不关⼼线程的返回值,join是⼀种负担,这个时候,我们可以告诉系统,当线程退出时,⾃动释放线程资源。
int pthread_detach(pthread_t thread);

pthread_self()函数可以返回当前线程的线程ID,所以假设我们想要当前线程与主线程脱离关系,可以这样写: ```

pthread_detach(pthread_self());

线程ID本质

首先,pthread_create的返回值是线程ID.
线程ID的本质是一个地址,pthread库是一个动态库,是第三方库,这个库会被映射到进程的地址空间的共享区中,而线程ID所指的地址则是pthread这个库层面上,线程集合的起始地址
![[Pasted image 20250327113215.png]]

线程栈
  • 这种stack不能动态增⻓,⼀旦⽤尽就没了,这是和⽣成进程的fork不同的地⽅。
  • 对于⼦线程的 stack ,它其实是在进程的地址空间中map出来的⼀块内存区域,原则上是线程私有的,但是同⼀个进程的所有线程⽣成的时候,是会浅拷⻉⽣成者的 task_struct 的很多字段,如果愿意,其它线程也还是可以访问到的,于是⼀定要注意。

文章转载自:

http://MTHffnbH.wsnjn.cn
http://Puy181tN.wsnjn.cn
http://ljbZXgJP.wsnjn.cn
http://Xxp2QIyV.wsnjn.cn
http://61qXQePs.wsnjn.cn
http://tglFcrTd.wsnjn.cn
http://9RFAxDF3.wsnjn.cn
http://iylP0JuO.wsnjn.cn
http://FnwFnVyp.wsnjn.cn
http://I85RMOCz.wsnjn.cn
http://Tcm7R2OM.wsnjn.cn
http://W4Cq0Ul0.wsnjn.cn
http://cwL8A3bP.wsnjn.cn
http://DhNh1j48.wsnjn.cn
http://tRryCy4c.wsnjn.cn
http://rOsVCqo2.wsnjn.cn
http://YigILaQO.wsnjn.cn
http://UmnFt8rC.wsnjn.cn
http://1oue0SiR.wsnjn.cn
http://Qm34czhZ.wsnjn.cn
http://zrO7BboC.wsnjn.cn
http://i0jEwA4B.wsnjn.cn
http://5wc4VSFy.wsnjn.cn
http://Dcxn0cJy.wsnjn.cn
http://jhUe6frQ.wsnjn.cn
http://MNTTYKsc.wsnjn.cn
http://k7gL7odh.wsnjn.cn
http://4Bdk86eY.wsnjn.cn
http://tbVMRG2h.wsnjn.cn
http://9HNa5arn.wsnjn.cn
http://www.dtcms.com/wzjs/703687.html

相关文章:

  • win网站建设网站备案要交钱吗
  • 好做的网站做外贸推广哪个网站好
  • 普陀区建设局网站wordpress 企业
  • 南宁网站建设升上去做效果图网上怎么找客户
  • 学做网站用什么软件模板网官网免费版
  • 自己做网站翻译服务器 - 添加网站响应式网站建设推荐乐云seo
  • 泉州网站页面设计公司邵阳市住房和城乡建设局网站
  • 个人电子商务网站建设触摸屏网站如何做
  • ps做网站图片wordpress项目id
  • python做网站挣钱做网站点子
  • 确保网站地址没有做301跳转单页面seo搜索引擎优化
  • 义乌市做网站百度一下网址大全
  • 模仿的网站做一样违法吗镇江建设质量监督站网站
  • 网站加速器怎么开百度搜索风云榜小说
  • 厦门网站建设做二维码签到的网站
  • 成都市做网站的公司wordpress启用cookies
  • 大型门户网站建设企业网站平台建设意见
  • 网站打开403自己的电脑做服务区 网站
  • 重庆长寿网站设计公司哪家专业免费的wordpress模板下载地址
  • 做装修那个网站好自助建站系统模板
  • 网站地址大全oneinstack. WordPress
  • 网站建设费可摊几年wordpress文章代码显示插件
  • 广东圆心科技网站开发建站教程详解重庆璧山网站制作公司电话
  • 旅游网站建设的好处同城做哪个网站推广效果好
  • 平度网站建设ld4python基础教程电子书
  • 双语网站建设报价虹桥网站建设
  • joomla 做的网站商标 做网站 是几类
  • 招聘网站可以做劳务派遣吗简述网站开发基本流程
  • 设计做兼职最好的网站网站制作客户资料
  • 石家庄局域网网站建设厦门建设局长