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

网站编写怎么创建一个视频网站

网站编写,怎么创建一个视频网站,网站界面设计软件,建设网站思维导图1. 死锁 (1)概念 死锁(DeadLock)指两个或两个以上的进程或线程执行时,由于竞争临界资源而造成阻塞的现象;若不干涉,则无法推进下去。 (2)死锁的原因 ① 竞争临界资源…

1. 死锁

(1)概念

死锁(DeadLock)指两个或两个以上的进程或线程执行时,由于竞争临界资源而造成阻塞的现象;若不干涉,则无法推进下去。

(2)死锁的原因

① 竞争临界资源。

② 进程推进顺序不当。

(3)死锁的必要条件

① 互斥访问:竞争临界资源;

② 不可剥夺:未使用完临界资源不释放;

③ 请求和保持:已占部分临界资源,仍请求被其他进程或线程占用的临界资源;

④ 循环等待:各进程或线程等待彼此释放临界资源。

(4)如何处理死锁

① 预防死锁;

        a)破坏请求和保持:协议1. 运行前一次性申请所有所需资源。

                                          协议2. 逐步获取资源,用完立即释放。

        b)破坏不可剥夺:请求不到所有资源,则立即释放所有资源。

        c)破坏循环等待:对资源进行排序,规定执行者必须按递增顺序请求资源。

② 避免死锁;资源动态分配时,用某种方式防止系统进入不安全状态,如银行家算法。

③ 检测死锁;允许死锁,有死锁则解除。


2. 死锁示例

两个线程,两个临界资源。线程1先申请资源1,再申请资源2,然后执行临界区代码;线程2申请资源2,再申请资源1,然后执行临界区代码。则可能出现死锁。

代码示例:

#include<stdlib.h>
#include<pthread.h>
#include<stdio.h>pthread_mutex_t mutex1;
pthread_mutex_t mutex2;void* worker1(void* arg) {pthread_mutex_lock(&mutex1);printf("线程1得到资源1.\n");pthread_mutex_lock(&mutex2);printf("线程1得到资源2.\n");printf("线程1执行临界区代码.\n");pthread_mutex_unlock(&mutex1);pthread_mutex_unlock(&mutex2);return NULL;
}void* worker2(void* arg) {pthread_mutex_lock(&mutex2);printf("线程2得到资源2.\n");pthread_mutex_lock(&mutex1);printf("线程2得到资源1.\n");printf("线程2执行临界区代码.\n");pthread_mutex_unlock(&mutex1);pthread_mutex_unlock(&mutex2);return NULL;
}int main(int argc, const char* argv[]) {pthread_t tid1, tid2;int ret = -1;ret = pthread_mutex_init(&mutex1, NULL);ret = pthread_mutex_init(&mutex1, NULL);ret = pthread_create(&tid1, NULL, worker1, NULL);ret = pthread_create(&tid2, NULL, worker2, NULL);ret = pthread_join(tid1, NULL);ret = pthread_join(tid2, NULL);ret = pthread_mutex_destroy(&mutex1);ret = pthread_mutex_destroy(&mutex2);return 0;
}

运行结果:

未发生死锁情况:

发生死锁情况:

如何解决上述示例中的死锁问题?

让两个线程申请资源顺序一致。

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

相关文章:

  • 如何做产品网站的推广wordpress码字主题
  • 可以做婚礼鲜花布置的网站html美食网页制作代码
  • 郑州汉狮做网站多少钱网站忘记密码功能
  • 企业网站建设有哪些好处合肥网站排名推广
  • 不想用原来的网站模板了就用小偷工具采集了一个可是怎么替换wordpress的主机要求
  • 集团网站群建设承德信息港
  • python做博客网站晋中市两学一做网站
  • php响应式网站模板网站模版 小清新
  • 做彩票网站违法荆门网站seo
  • 建设应用型网站的意义高质量软文
  • 品牌网站建设创意新颖为什么做这个网站反馈问题
  • 哈尔滨百姓网免费发布信息网络优化方案案例
  • 网站后端开发网页版传奇怎么开
  • 广州市网站建设怎么样江苏省建设教育协会网站首页
  • 本地dedecms网站ui培训周末班
  • 做视频网站视频源wordpress支持大数据处理
  • 网站建设要学会什么软件做网站最好的工具
  • 宜昌做网站公司有哪些网站广州最穷的三个区
  • 优秀网站建设平台南京注册公司多少钱
  • 北京住房城乡建设部网站首页jquery个人网站开发
  • 网站反链接是什么意思手机如何创建网页链接
  • 做视频广告在哪个网站能够赚钱企业网站建设套餐价格
  • 漯河市万金镇网站建设国内永久免费建站
  • 网页设计与网站开发课程设计高端企业网站 程序
  • 贵州交通建设集团网站php源码怎么搭建网站
  • 广州做网站优化费用h5制作多少钱
  • 铁岭市做网站网页设计报告模版
  • 韶关做网站需要多少钱南昌商城建设
  • 网站的c4d动画是怎么做的四川企业品牌网站建设
  • 南京网站制作公司电话拼多多卖网站建设