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

免费的视频网站推广软件百度指数总结

免费的视频网站推广软件,百度指数总结,免费网站部署,软文推广是什么意思?目录 ​编辑 一、线程的分离属性 1.1.什么是分离属性 1.2.分离属性相关函数接口 1.初始化线程属性-pthread_attr_init() 2.销毁线程属性-pthread_attr_destory() 3.设置线程属性-pthread_setdetachstate() 1.3.注意 二、互斥锁 2.1.资源 2.2.互斥锁 1.什么是互斥锁 2.互…

目录

​编辑

一、线程的分离属性

1.1.什么是分离属性

1.2.分离属性相关函数接口

        1.初始化线程属性-pthread_attr_init()

        2.销毁线程属性-pthread_attr_destory()

        3.设置线程属性-pthread_setdetachstate()

 1.3.注意

二、互斥锁

2.1.资源

2.2.互斥锁

        1.什么是互斥锁

        2.互斥锁的用途

        3.临界区

 2.3.函数接口 

        1.初始化互斥锁-pthread_mutex_init()

        2.销毁互斥锁-pthread_mutex_destory()

        3.枷锁-pthread_mutex_lock()

        4.解锁-pthread_mutex_unlock()

2.4.注意点

三、死锁

3.1.什么是死锁

3.2.产生死锁的4个必要条件

        1.互斥条件

        2.不剥夺条件

        3.请求保持条件

        4.循环等待条件

3.3.如何避免死锁

        1.加锁顺序保持一致

        2.打破互斥条件、不可剥夺条件(不建议使用)

        3.使用pthread_mutex_trylock替代pthread_mutex_lock      

四、信号量

4.1信号量是什么

4.2.信号量的作用

4.3.函数接口

        1.初始化信号量-sem_init()

        2.销毁信号量-sem-destory()

        3.申请信号量-sem_wait()

        4.释放信号量-sem_post()

 五、总结


一、线程的分离属性

1.1.什么是分离属性

        线程在结束时由操作系统自动回收空间

1.2.分离属性相关函数接口

        1.初始化线程属性-pthread_attr_init()

int pthread_attr_init(pthread_attr_t *attr);功能:初始化线程属性 

        2.销毁线程属性-pthread_attr_destory()

int pthread_attr_destroy(pthread_attr_t *attr);功能:销毁线程属性

        3.设置线程属性-pthread_setdetachstate()

int pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate);功能:  将线程设置为分离属性 参数:attr:线程属性 detachstate:PTHREAD_CREATE_DETACHED        分离属性PTHREAD_CREATE_JOINABLE         加入属性(默认)

 1.3.注意

        线程使用分离属性后,将不会让进程发生阻塞,从而不会实现进程与线程的同步;

        默认的属性,需要pthread_join(),来回收线程空间,会实现同步;

二、互斥锁

2.1.资源

        资源是有限的,在程序运行过程中,一段代码、一段空间、一个变量、CPU、内存都可以看做资源 

2.2.互斥锁

        1.什么是互斥锁

                是一种资源,当一个线程任务加锁,其余线程任务无法再次加锁,直到解锁后才能加锁;

        2.互斥锁的用途

                 互斥锁主要是用来防止多个线程任务竞争某个资源

        3.临界区

                加锁和解锁中间的代码称为临界代码也称为临界区

 2.3.函数接口 

        1.初始化互斥锁-pthread_mutex_init()

int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr);功能:初始化互斥锁参数:mutex:互斥锁attr:互斥锁属性 NULL返回值:成功返回0 失败返回-1 

        2.销毁互斥锁-pthread_mutex_destory()

int pthread_mutex_destroy(pthread_mutex_t *mutex);功能:销毁互斥锁参数:mutex:互斥锁返回值:成功返回0 失败返回-1

        3.枷锁-pthread_mutex_lock()

  int pthread_mutex_lock(pthread_mutex_t *mutex);功能:加锁参数:mutex:互斥锁返回值:成功返回0 失败返回-1

        4.解锁-pthread_mutex_unlock()

int pthread_mutex_unlock(pthread_mutex_t *mutex);功能:解锁参数:mutex:互斥锁返回值:成功返回0 失败返回-1

2.4.注意点

        1.互斥锁不能同步,多个任务依然保持异步执行,但是可以解决资源竞争
        2.原子操作最小的一次CPU操作,在执行原子操作时不会切换调度任务

三、死锁

3.1.什么是死锁

         多线程加锁解锁导致多个任务均无法向下执行的状态称为死锁状态简称为死锁  

3.2.产生死锁的4个必要条件

        1.互斥条件

                同一把锁不能被多个线程任务同时锁定

        2.不剥夺条件

                一个线程任务已经锁定了一个资源,不能被其他线程任务抢占,直到它使用完该资源

        3.请求保持条件

                如果没有拿到锁资源一直申请获得锁资源

        4.循环等待条件

                如果没有得到锁资源会一直等待

3.3.如何避免死锁

        1.加锁顺序保持一致

        2.打破互斥条件、不可剥夺条件(不建议使用

        3.使用pthread_mutex_trylock替代pthread_mutex_lock      

                  pthread_mutex_trylock为尝试进行锁操作,若没有锁则不进行锁操作。

四、信号量

4.1信号量是什么

        信号量是一种资源(可以初始化、销毁、申请、释放)

        申请资源数 > 0     申请操作让资源数-1
        资源数 == 0   申请操作会阻塞,直到资源数不为0,申请得到资源后继续向下执行
        释放资源数+1 
        释放操作让资源数+1
 

4.2.信号量的作用

        实现多线程间的同步(同步就是多个线程有一定的执行顺序)

4.3.函数接口

        1.初始化信号量-sem_init()

 int sem_init(sem_t *sem, int pshared, unsigned int value);功能:对信号量的初始化参数:sem:信号量空间首地址pshared:0   线程间共享非0 进程间共享 value:信号量的初始值返回值:成功返回0 失败返回-1

        2.销毁信号量-sem-destory()

 int sem_destroy(sem_t *sem);功能:  信号量的销毁 

        3.申请信号量-sem_wait()

 int sem_wait(sem_t *sem);功能:申请信号量(资源数-1)资源数为0阻塞等待直到有资源申请后继续向下执行

        4.释放信号量-sem_post()

int sem_post(sem_t *sem);功能:释放信号量(资源数+1)

 五、总结

        2024年8月8日,学习的第25天。今天主要是学习了线程间的通信,其中引出了互斥锁、信号量和死锁的知识。总体来说,这块还是比较难的。

        加油!

http://www.yayakq.cn/news/286152/

相关文章:

  • 网站建设的公司哪家是上市公司地方网站怎么做
  • 美妆网站制作教程网站建设公司相关资质
  • 宁波网站建设销售什么是php网站
  • 外贸箱包网站模板内蒙古呼和浩特景点
  • 做服装行业网站建设网站课程设计摘要
  • 四川省建设厅工地安全网站百度快照什么意思
  • 电影网站建设成本昆明做商城网站多少钱
  • 电子商务网站模式有网站怎么做下载直链
  • 树脂工艺品网站建设公司口碑最好的装修公司排行
  • 河北邯郸做网站沈阳网站建设的价格
  • 文化网站策划国外网站设计网站
  • 网站建设先进个人典型材料微信开发 网站备案吗
  • 邯郸市建设局网站政策做网站买了域名后
  • asp手机网站优秀商业空间设计案例分析
  • 网站开发公司哪里寻找客源平面设计与网页设计培训
  • 网站建设电话销售网上营销策略有哪些
  • 福建泉州网站建设免费的200m网站空间
  • 电商平台正在建设中网站页面dede 建设网站
  • 如何自己做网站模版网站投入费用
  • 做软装设计能用到的网站有哪些新闻头条最新消息今天发布
  • 怎样用电脑和网訨自己做网站电商美工培训
  • 帮别人做网站开价wordpress彩色提示框
  • 市场部做网站工作职责手机网站建设专业服务公司
  • 太原正规的网站制作做设计需要知道的几个网站
  • 知名网站开发哪里有扬州自适应网站建设
  • 成都专业网站推广公司无锡网站网站建设
  • wordpress排版乱 了珠海网站建设乐云seo在线制作
  • 网站备案密码 多少位网站建设与管理2018
  • 镇江市住房城乡建设局网站安阳网红街
  • 网站目录结构图网站开发体系