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

专业做网站建设公司好吗做网站步骤

专业做网站建设公司好吗,做网站步骤,互联网渠道,备案二级域名🧠 背景:为什么会有 PV? 类比:内存(生产者) 和 CPU(消费者) 内存 / IO / 磁盘 / 网络下载 → 不断“生产数据” 例如:读取文件、下载视频、从数据库加载信息 CPU → 负…

🧠 背景:为什么会有 PV?

类比:内存(生产者) 和 CPU(消费者)

  • 内存 / IO / 磁盘 / 网络下载 → 不断“生产数据”

    • 例如:读取文件、下载视频、从数据库加载信息

  • CPU → 负责“消费数据”

    • 例如:处理数据、解码、渲染画面、计算结果

👉 由于生产和消费速度可能存在差异(如内存大、CPU处理慢),需要一个缓冲区(如缓存、队列)进行协调。

🔧 三个基本模板

1. 信号量

  • 定义:表示当前可用资源的个数。

2. 同步:控制先后顺序

  • 核心:信号量初始设为 0;V 操作释放信号量,进程 B 才能有资源继续执行。

  • 问题:如果信号量初始值为 0,进程 A 和进程 B 都会被阻塞吗?

    • 回答:是的,这样可以保证进程 A 和 B 的先后顺序。

3. 互斥:保证一个进程对资源的访问

  • 核心:使用 PV 操作夹住临界区(临界资源存放点)。

进程A;                 mutex=1
P(互斥信号量);        mutex--;   0;
临界区;                
V(互斥信号量)          mutex++;   1;进程B;               
P(互斥信号量);      
临界区;                
V(互斥信号量)       

🏭 生产者-消费者模型

full 是什么意思?

  • 定义:在生产者-消费者模型中,full 是一个信号量,用来表示当前缓冲区中“已经存了多少个产品”,也可以理解为“可供消费者消费的数据数量”。

mutex 是什么?

  • 定义mutex 是 mutual exclusion(互斥)的缩写,表示一次只允许一个线程/进程访问共享资源。用于保护临界区。

🔄 同步与互斥关系

同步关系

  1. 生产者先生产出一个产品V(full),消费者才能消费一个产品 → P(full)

  2. 消费者从缓冲区取来产品V(empty),释放一个空位,生产者才能继续生产 → P(empty)

互斥关系

  • 使用 P(mutex) 加锁缓冲区,V(mutex) 释放缓冲区,确保缓冲区的互斥访问。

❓ 常见问题解答

问题:缓冲区初始为空,empty = n(如 10 个空位),为什么还需要等待消费者“消费”后产生空位?不是一开始就很多空位了吗?

  • 答案

    • ✅ 一开始当然不需要等消费者,可以直接放数据进去!

    • 🛑 但如果生产得太快,把缓冲区塞满了(empty == 0),就必须等消费者先消费一个产品(释放一个空位)才能继续生产。

🧑‍💻 生产者代码解释

  1. 生产:在自己线程内处理好数据(不影响别人)。

  2. P(empty):检查是否有空位(资源控制)。

  3. P(mutex):进入缓冲区前加锁(互斥控制)。

  4. 放入缓冲区

  5. V(mutex):解锁。

  6. V(full):通知消费者“有东西可以用了”。

👩‍💻 消费者代码解释

  1. P(full):等待是否有产品可取。

  2. P(mutex):加锁,准备访问缓冲区。

  3. 取产品:真正的“消费”动作。

  4. V(mutex):解锁。

  5. V(empty):通知生产者释放了一个空位。

  6. 消费:转到自己的线程输出数据。

读者-写者(互斥)

📖 读者-写者问题(互斥)

问题:为什么 mutex 需要夹住 count,不是允许多个读者同时读吗?

  • 回答:是的,多个读者可以同时读,但是 count 是一个“全局变量”,多个线程同时修改它会出问题,所以必须用 mutex 来保护它!

🔄 同步与互斥关系

同步关系

  • 读者读完后,解锁并将 count--。当 count 为 0 时,表示最后一个读者离开,此时写者可以开始写。

  • 简单来说:第一个读者来关写者的门,最后一个读者来开写者的门。

互斥关系:

互斥关系

  • count 的初始值为 0,表示没有读者在读。

  • 如果有写者正在写,rw = 0,读者会被阻塞,等待写者写完。

  • 如果没有写者写,rw = 1,第一个读者执行 P(rw),然后继续执行。

❓ 常见问题解答

问题:如果第一个读者还没执行到 V(mutex),第二个读者就进来了,会怎么样?第二个还能继续吗?

  • 答案

    • ❌ 第二个读者进不来,它会被阻塞在 P(mutex) 这里,直到第一个读者执行 V(mutex),它才能继续往下执行。

    • ❗ 虽然读者可以“同时读”,但它们更新计数器 count 时一定是串行的、有序的、安全的!

ChatGPT链接:https://chatgpt.com/share/680274c9-faec-800c-8a90-253e36512386


文章转载自:

http://kOQzp7dN.dfqmy.cn
http://oaRt1hX0.dfqmy.cn
http://eJo9LgQt.dfqmy.cn
http://szFa2pOC.dfqmy.cn
http://Iyd2uyaH.dfqmy.cn
http://wBPnjNvy.dfqmy.cn
http://zD6iysU3.dfqmy.cn
http://5kgyPHQ4.dfqmy.cn
http://otbkW5pE.dfqmy.cn
http://Ol01cEAs.dfqmy.cn
http://SFp6fyK9.dfqmy.cn
http://g84Dxytj.dfqmy.cn
http://HdT0vLda.dfqmy.cn
http://E2nwRK7e.dfqmy.cn
http://JlwZTH1U.dfqmy.cn
http://3mQh1gO6.dfqmy.cn
http://Re1VUZz7.dfqmy.cn
http://dk2YkBin.dfqmy.cn
http://GCpY2QTd.dfqmy.cn
http://O0MYx99Q.dfqmy.cn
http://7cqfVMvN.dfqmy.cn
http://bZPw97AG.dfqmy.cn
http://8plvv2JB.dfqmy.cn
http://zCCGGh09.dfqmy.cn
http://aLTzZmKj.dfqmy.cn
http://ohyPw2Ua.dfqmy.cn
http://Dp8LY5gN.dfqmy.cn
http://0JSMTppi.dfqmy.cn
http://5v6Kmh5s.dfqmy.cn
http://cdVP4EnX.dfqmy.cn
http://www.dtcms.com/wzjs/739072.html

相关文章:

  • 做视频直播类型的网站设计资料网站
  • 网站建设 石景山黔东南网站开发
  • 一般网站的流量是多少商城网站建
  • 什么是多页面网站wordpress开发周期
  • c2c模式介绍wordpress手机优化
  • 深圳网站设计很棒 乐云践新什么是网络营销产生的现实基础
  • 建公司网站设计网站公司平面设计学徒工资一般多少
  • 长春建设厅官方网站怎么建一个公司运营网站
  • 北京社招网站wordpress调用一篇
  • phpcms 怎么做视频网站首页wordpress是哪种服务器
  • 微网站怎么制作软件编程学什么专业
  • 合肥哪家公司做网站网站运营做网页设计
  • 有风险的网站苏州绿叶网站建设
  • 想做网站平面图设计软件有哪些
  • 网站关键词是什么网站备案信息被注销
  • 长沙网站推广公司广东省工程建设注册中心网站
  • 做海报有哪些网站大连市建设工程电子文件编辑软件
  • 网站设计技术入股旅游app用户人群分析
  • 农产品网络营销策划方案青岛网站建设seo优化制作设计
  • 网上网站代码可以下载吗网站做百度百科
  • 沈阳城乡建设官方网站营销型网站用什么系统
  • 做外文网站建设一个棋牌网站都得准备什么用
  • 口腔医院网站优化服务商宁波网站建设设计公司信息
  • 济南网站制作运营深圳网站建设哪家比较专业
  • 重庆做企业网站设计的公司北京西站地铁是几号线
  • 江苏省建设厅官网网站首页c 做网站教程
  • asp网站开发实训总结企业电商网站优化
  • 博罗东莞网站建设商城网站建设第一章
  • 舒城县住房和城乡建设局网站新浪云服务器做网站
  • 电子商务网站建设的基本要素平面设计网站免费大推荐