!!!!…………高手看过来,关于进程同步问题…………!!! ! [问题点数:0分]

Bbs1
本版专家分:0
结帖率 100%
Bbs1
本版专家分:0
Blank
红花 2000年7月 VC/MFC大版内专家分月排行榜第一
Blank
黄花 2000年4月 VC/MFC大版内专家分月排行榜第二
Blank
蓝花 2000年8月 VC/MFC大版内专家分月排行榜第三
Bbs1
本版专家分:0
操作系统之经典进程同步问题
这里介绍三中<em>进程同步</em><em>问题</em>:         1.生产者-消费者<em>问题</em>         2.读者-写者<em>问题</em>         3.哲学家进餐<em>问题</em> 一、生产者-消费者<em>问题</em>      1.<em>问题</em>描述:生产者-消费者模型描述的是有一群生产者进程在生产产品,并将这些产品提供给消费者进程并发进行,具备并发程序的典型特征。PCM为使生产者进程和消费者进程并发进行,在它们之间设置一个具有多个缓冲区的缓
怎样成为解决问题高手?——关于问题解决的关键4步骤
一个真正的<em>高手</em>,其实应该有能力用一套方法论去解决<em>问题</em>的所有,不管这个<em>问题</em>再难,再新鲜,再简单都能搞定。 什么是<em>问题</em>?一言以蔽之,<em>问题</em>来源于现实与目标的差距。 因此,<em>问题</em>产生的原因可能是: 不清楚目标是什么;还可能是不知道差距产生的原因是什么;或者虽然知道差距产生的原因,但是不知道如何消除这个差距,以及不确定消除差距的方法对不对。 这些<em>问题</em>会不断地出现在我们的工作
经典进程同步与互斥问题
经典<em>进程同步</em>与互斥<em>问题</em> 1. 生产者-消费者<em>问题</em> 1.1 简单的“生产者-消费者”<em>问题</em> 设进程A、B是两个相互合作的进程,它们共享一个缓冲区,进程A向其中写入数据,进程B从中读出数据。producer:生产者进程,consumer:消费者进程。当缓冲区不空时,消费者便可以读数据;当缓冲区为空时,生产者便可以写数据。 设置信号量: full:表示有数据缓冲区的数目,初值为0; ...
计算机操作系统笔记(5)--进程管理之经典进程的同步问题
本文分别介绍三个经典进程的同步<em>问题</em>,即“生产者-消费者<em>问题</em>”、“哲学家进餐<em>问题</em>”以及“读者-写者<em>问题</em>”。
操作系统中进程同步问题的几个经典问题与解答
1、用记录型信号量解决以下<em>问题</em>,用类C语言编写<em>进程同步</em>算法。司机   P1       售票员  P2       REPEAT          REPEAT       启动             关门       正常运行         售票       到站停           开门       UNTIL FALSE     UNTIL FALSE semaphore s1,s2;...
经典进程的同步问题自我总结
三个同步<em>问题</em> - 生产者-消费者<em>问题</em> - 哲学家进餐<em>问题</em> - 读者-写者<em>问题</em>生产者-消费者<em>问题</em> 注:所有的都是,当缓冲池满了,生产者就不可往进存放,必须等待;当缓冲池空了,消费者就不可从中取出,必须等待1.记录型信号量方法定义: semaphore: 信号量 wait:(P操作)申请资源 signal:(V操作)释放资源 S:可用资源数目;当S<0,
JDBC实际开发案例之“对岸的女孩看过来
一:打通数据库 jdbc使用详情 1:工欲善其事必先利其器 明确目的:需求 实现屌丝逆袭 拥有女神禁区,享有查看,添加修改,删除等功能。 指导思想:概要设计,详细设计 工具准备:Mysql数据库,MyEclipse(开发工具),Navicat(数据库管理工具) 埋头苦干:编码 ...
实验4 经典进程同步问题的实现
实验4 经典<em>进程同步</em><em>问题</em>的实现 一、实验目的 1. 掌握信号通信机制 2. 使用信号量机制实现经典<em>进程同步</em>的生产者和消费者<em>问题</em> 二、实验工具与设备 装有Linux系统的计算机。 三、实验预备知识 1.创建多个线程,模拟生产者和消费者<em>问题</em>的求解。 参考代码: #include   #include   #include   #include   #include     
经典进程同步问题(一)——生产者、消费者问题
今天学习了如题的<em>问题</em>,在此记录。下面是每个部分<em>问题</em>的算法实现:PS:P()、V()操作分别是wait()和signal()原语操作V1.0//注意此处的信号量的初始值 Semaphore full = 0; //下边的两个进程执行顺序没有先后 Produce: ...; put product to buffer; V(full); ...;Consumer:
进程同步的三个经典问题
1. 有限缓存<em>问题</em> Bounded-Buffer Problem 要求: producer和consumer,二者不能对buffer进行操作 当buffer满的时候,就不允许producer继续写 当buffer空的时候,就不允许consumer继续读 信号量及其初始化 Semaphore mutex = 1; //buffer的锁 Semapore full = 0; //满位的数量 S...
经典进程的同步问题-生产者与消费者
在说到进程的同步的<em>问题</em>上,毫无疑问,生产者与消费者这个经典<em>问题</em>是不可避免的。                                              生产者生产的前提是:生产者生产出来的产品容器还能够装下,否则等待消费者消费; 消费者消费的前提是:容器中有产品能够让消费者消费,否则等待生产者生产; public class Test { public st
经典进程同步与互斥问题——生产者消费者问题
<em>问题</em>描述:生产者——消费者<em>问题</em>是指有两组进程共享一个环形的缓冲池,一组称为生产者,一组称为消费者。缓冲池是由若干个大小相等的缓冲区组成,每个缓冲区可以容纳一个产品。生产者进程不断的将产品放入缓冲池中,消费者不断将产品从缓冲池中取出。核心:生产者——消费者<em>问题</em>,既存在着<em>进程同步</em><em>问题</em>,也存在着临界区互斥<em>问题</em>。当缓冲区满时,表示供大于求,生产者必须停止生产,进入等待状态,同时唤醒消费者;当所有缓冲区都为...
经典进程同步问题:读者-写者问题
<em>问题</em>描述 有读者和写者两组并发进程,共享一个文件,当两个或以上的读进程同时访问共享数据时不会产生副作用,但若某个写进程和其他进程(读进程或写进程)同时访问共享数据时则可能导致数据不一致的错误。因此要求:①允许多个读者可以同时对文件执行读操作;②只允许一个写者往文件中写信息;③任一写者在完成写操作之前不允许其他读者或写者工作;④写者执行写操作前,应让已有的读者和写者全部退出。 <em>问题</em>分析 1
进程同步经典例题
1.信号量机制信号量机制即利用pv操作来对信号量进行处理。什么是信号量?信号量(semaphore)的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程。信号量的值与相应资源的使用情况有关。当它的值大于0时,表示当前可用资源的数量;p(可理解占用)当它的值小于0时,其绝对值表示等待使用该资源的进程个数。v(可理解生产,释放占用资源)注意,信号量的值仅能由PV操作来改变。     一般来说...
操作系统笔记:(九)信号量与经典同步问题
这节讲解操作系统用信号量机制解决同步<em>问题</em>,先讲解他的基本实现,然后在讲解用信号量机制解决经典的同步<em>问题</em>: 生产者消费者<em>问题</em> 读者写者<em>问题</em> 哲学家就餐<em>问题</em> 主要讲的<em>进程同步</em>方法如下,这一节讲信号量,下一节讲解管程remark 这一节进程和线程的概念通常是互通的,不加详细区分,仅作为CPU的调度单位信号量是什么信号量是os提供的管理同步<em>问题</em>的一种手段,具体来说,他有一个整数变量记录当前可供使用的标记信号
进程同步与互斥 生产者与消费者问题--操作系统大作业
大连理工大学操作系统大作业, <em>进程同步</em>与互斥 生产者与消费者<em>问题</em>
操作系统学习笔记--进程同步(生产者-消费者问题
    一组生产者进程生产产品给一组消费者进程消费。为使它们并发执行,设一个有n个缓冲区的缓冲池(暂时作缓冲的存储区,比缓冲区大,由n个缓冲区构成),生产者一次向一个缓冲区中投入消息,消费者从一个缓冲区中取得消息。生产者-消费者<em>问题</em>实际上是相互合作进程关系的一种抽象。(提供数据的是生产者,使用数据的是消费者)    制约关系。不允许消费者进程到一个空缓冲区(不是没有数据,是数据无效(垃圾数据))中...
进程同步之临界区域问题及Peterson算法
1.背景          首先,看个例子,进程P1,P2公用一个变量COUNT,初始值为0                                               因为P1,P2两个进程的执行顺序是随机的,可能顺序执行也可能是并发的,由图可见,不同的执行顺序,COUNT的值会不同,这是不允许的。      像这种情况,及多个进程并发访问和操
操作系统进程同步互斥经典问题之读者写者问题
操作系统<em>进程同步</em>互斥经典<em>问题</em>之读者写者<em>问题</em>
Unix编程(二)C语言利用PV原句解决5个经典的进程同步问题
<em>问题</em>定义利用信号量及PV操作来实现进程间的同步与互斥知识概要 信号量机制:利用PV操作对信号量进行处理 信号量(semaphore)的数据结构为一个值和一个指针,指针指向该信号量的下一个进程。 信号量的值与相关资源的使用情况有关: 当它的值大于0时,表示当前可用资源的数量。 当它的值小于0时,其绝对值表示等待使用该资源的进程的个数。 信号量的值能且仅能 通过PV操作进行修改。 P操作:执行一次P操
进程同步问题的几个案例
1、设公共汽车上,司机和售票员的活动分别是:  司机的活动: 启动车辆;              正常行车;              到站停车;  售票员的活动:  关车门;              售票;              开车门;    在汽车不断地到站、停车、行驶过程中,这两个活动有什么同步关系?用P、V操作实现它们的同步。      解:设两个信号量S
进程同步实验——生产者与消费者问题算法实现
<em>进程同步</em>实验——生产者与消费者<em>问题</em>算法实现
进程同步之读者写者问题C语言实现
#include &quot;stdafx.h&quot; #include &amp;lt;stdio.h&amp;gt; #include &amp;lt;stdlib.h&amp;gt; #include &amp;lt;process.h&amp;gt; #include &amp;lt;windows.h&amp;gt; #include &amp;lt;time.h&amp;gt; typedef struct thread { int thread_num; c...
进程的同步,互斥和经典进程同步问题
<em>进程同步</em>     <em>进程同步</em>也是进程之间直接的制约关系,是为完成某种任务而建立的两个或多个线程,这个线程需要在某些位置上协调他们的工作次序而等待、传递信息所产生的制约关系。进程间的直接制约关系来源于他们之间的合作。     比如说进程A需要从缓冲区读取进程B产生的信息,当缓冲区为空时,进程B因为读取不到信息而被阻塞。而当进程A产生信息放入缓冲区时,进程B才会被唤醒。概念如图所示。
进程同步之理发师问题
<em>进程同步</em>之理发师<em>问题</em>@(操作系统)[<em>进程同步</em>]description假设有一个理发店只有一个理发师,一张理发时坐的椅子,若干张普通椅子顾客供等候时坐。没有顾客时,理发师就坐在理发的椅子上睡觉。顾客一到,他不是叫醒理发师,就是离开。如果理发师没有睡觉,而在为别人理发,他就会坐下来等候。如果所有的枯木都坐满了人,最后来的顾客就会离开。 在出现竞争的情况下<em>问题</em>就来了,这和其它的排队<em>问题</em>是一样的。实际上,
经典进程同步问题--哲学家进餐问题
五个哲学家公用一张圆桌, 分别坐在周围的五张桌子上, 在圆桌上有五个碗和五只筷子交叉排列, 它们的生活方式是交替的进行思考和进餐. 哲学家进行思考时不用筷子, 饥饿时取一只他两边的任意一只筷子(默认取左边的筷子, 没有时取右边的, 都没有时就取不了), 当他有两只筷子时就能进餐. 进餐后, 放下筷子继续思考.若只有一只筷子, 不放弃该筷子并等待拥有另一只筷子时再进餐. 用一个信号量表示一只筷子,...
操作系统上机实验报告 进程同步和通信-生产者和消费者问题模拟
1. 目的: 调试、修改、运行模拟程序,通过形象化的状态显示,使学生理解进程的概念,了解同步和通信的过程,掌握进程通信和同步的机制,特别是利用缓冲区进行同步和通信的过程。通过补充新功能,使学生能灵活运用相关知识,培养创新能力。 2. 内容及要求: 1) 调试、运行模拟程序。 2) 发现并修改程序中不完善的地方。 3) 修改程序,使用随机数控制创建生产者和消费者的过程。 4) 在原来程序的基础上,加入缓冲区的写互斥控制功能,模拟多个进程存取一个公共缓冲区,当有进程正在写缓冲区时,其他要访问该缓冲区的进程必须等待,当有进程正在读取缓冲区时,其他要求读取的进程可以访问,而要求写的进程应该等待。 5) 完成1)、2)、3)功能的,得基本分,完成4)功能的加2分,有其它功能改进的再加2分 3. 程序说明:   本程序是模拟两个进程,生产者(producer)和消费者(Consumer)工作。生产者每次产生一个数据,送入缓冲区中。消费者每次从缓冲区中取走一个数据。缓冲区可以容纳8个数据。因为缓冲区是有限的,因此当其满了时生产者进程应该等待,而空时,消费者进程应该等待;当生产者向缓冲区放入了一个数据,应唤醒正在等待的消费者进程,同样,当消费者取走一个数据后,应唤醒正在等待的生产者进程。就是生产者和消费者之间的同步。   每次写入和读出数据时,都将读和写指针加一。当读写指针同样时,又一起退回起点。当写指针指向最后时,生产者就等待。当读指针为零时,再次要读取的消费者也应该等待。 为简单起见,每次产生的数据为0-99的整数,从0开始,顺序递增。两个进程的调度是通过运行者使用键盘来实现的。 4. 程序使用的数据结构 进程控制块:包括进程名,进程状态和执行次数。 缓冲区:一个整数数组。 缓冲区说明块:包括类型,读指针,写指针,读等待指针和写等待指针。 5. 程序使用说明   启动程序后,如果使用'p'键则运行一次生产者进程,使用'c'键则运行一次消费者进程。通过屏幕可以观察到两个进程的状态和缓冲区变化的情况。
进程同步实验代码(c语言)
数据结构: 每个进程有一个进程控制块( PCB)表示。进程控制块可以包含如下信息:进程类型标号、进程系统号、进程状态(本程序未用)、进程产品(字符)、进程链指针等等。 系统开辟了一个缓冲区,大小由buffersize指定。 程序中有三个链队列,一个链表。一个就绪队列(ready),两个等待队列:生产者等待队列(producer);消费者队列(consumer)。一个链表(over),用于收集已经运行结束的进程 本程序通过函数模拟信号量的原子操作。 算法的文字描述: ① 由用户指定要产生的进程及其类别,存入进入就绪队列。 ② 调度程序从就绪队列中提取一个就绪进程运行。如果申请的资源不存在则进入响应的等待队列,调度程序调度就绪队列中的下一个进程。进程运行结束时,会检查对应的等待队列,激活队列中的进程进入就绪队列。运行结束的进程进入over链表。重复这一过程直至就绪队列为空。 ③ 程序询问是否要继续?如果要转直①开始执行,否则退出程序。
操作系统学习笔记--进程同步(哲学家进餐问题
    哲学家进餐<em>问题</em>:有五个哲学家,她们的生活方式是交替地进行思考和进餐。哲学家们共用一张园桌,分别坐在周围五张椅子上。在圆桌上有五个碗和五支筷子,平时一个哲学家进行思考,饥饿时便试图取用其左右最靠近他的筷子,只有在他拿到两支筷子时才能进餐。进程毕,放下筷子又继续思考。    分析:筷子是临界资源,在一段时间内只允许一个哲学家使用。(有临界资源就存在互斥)。用一个信号量表示一支筷子,由这五个信号...
操作系统:经典进程同步问题(2)哲学家进餐问题
知识总结: 互斥模式:互斥信号量赋初值一定是1 下面这种解决方法: 如果每个科学家都拿起相同方向的意志筷子就会导致每个人只能得到一个筷子,造成死锁! 解决方法: 方案1: 方案2: 方案3:
进程同步之熟睡的理发师问题
熟睡的理发师<em>问题</em>(The Sleeping-Baber Problem)是操作系统中<em>关于</em><em>进程同步</em>的一个经典<em>问题</em>,它涉及了到临界区保护、锁、信号量等方面的知识。在这篇博客中,我将具体讲解这个<em>问题</em>并用pthread库编码解决,相关pthread库的使用可查阅IEEE官方文档,我是传送门~~~。 <em>问题</em>描述:  某个理发店有个瞌睡虫理发师,只要没有顾客,他就会去睡觉;而整个理发店由两个区域组成:有N把...
操作系统进程同步问题(吃水果问题
自己写的,不知道怎么样!大家看看吧。 是<em>关于</em>操作系统<em>进程同步</em>的<em>问题</em>,一般计算机系操作系统课程最后的大作业。 写的不好不要喷啊~!
操作系统之——进程同步经典问题
点击打开链接生产者消费者<em>问题</em> 一个生产者,一个消费者,公用一个缓冲区 定义两个同步信号量: empty——表示缓冲区是否为空,初值为1。 full——表示缓冲区中是否为满,初值为0。 生产者进程 while(TRUE){ 生产一个产品;      P(empty);      产品送往Buffer;      V(full); } 消费者进程 while(TRUE){
linux进程同步方式总结
1. 上锁和解锁 #inlcude     int pthread_mutex_lock(pthread_mutex_t *mptr);     int pthread_mutex_trylock(pthread_mutex_t *nptr);     int pthread_mutex_unlock(pthread_mutex_t *mptr); 互斥锁是协作性锁。这就是说,如
【操作系统总结】经典的进程同步问题-生产者消费者问题
生产者消费者<em>问题</em><em>问题</em>描述是:有一群生产者进程在生产产品,此产品提供给消费者去消费。为使生产者和消费者进程能并发执行,在它们之间设置一个具有n个缓冲池,生产者进程可将它所生产的产品放入一个缓冲池中,消费者进程可从一个缓冲区取得一个产品消费。利用记录型信号量semaphore mutex=1,empty=n,full=0; item buffer[n]; //缓冲区 int in=out=0;
进程同步实验报告
(1)了解操作系统<em>进程同步</em>的基本概念和准则。 (2)理解信号量机制及P、V操作含义。 (3)了解经典<em>进程同步</em><em>问题</em>,掌握信号量方法解决<em>进程同步</em><em>问题</em>的方法。 包括实验目的,截图,心得体会,代码
解决进程同步的几种机制
多进程的系统中避免不了进程间的相互关系。本讲将介绍进程间的两种主要关系——同步与互斥,然后着重讲解解决<em>进程同步</em>的几种机制。       进程互斥是进程之间发生的一种间接性作用,一般是程序不希望的。通常的情况是两个或两个以上的进程需要同时访问某个共享变量。我们一般将发生能够问共享变量的程序段称为临界区。两个进程不能同时进入临界区,否则就会导致数据的不一致,产生与时间有关的错误。解决互斥<em>问题</em>应该满
《计算机操作系统》总结三(进程同步
转载自:http://blog.csdn.net/bigpudding24/article/details/486085372.9 <em>进程同步</em>的基本概念:临界资源、同步和互斥 在多道程序环境下,进程是并发执行的,不同进程之间存在着不同的相互制约关系。为了协调进程之间的相互制约关系,引入了<em>进程同步</em>的概念。 临界资源 虽然多个进程可以共享系统中的各种资源,但其中许多资源一次只能为一个进程所使用,我们把一次
经典进程同步问题(代码+文档)
实现经典同步的三个<em>问题</em> 在linux下全部能成功实现,使用的是两种信号量机制。
Qt编程中有关全局变量的一个问题解决
需要使用qwt来完成界面图表的绘制,然而在自己的Demo中测试成功的,如下 然而当把图表以及Style选择模块放入主工程时却发生了以下错误 具体错误打开后如下 /home/tl/ti/mcsdk_1_01_00_02/linux-devkit/sysroots/armv5te-3.3-oe-linux-gnueabi/usr/include/qtopia/QtCore/qmetatype.h:...
东北大学操作系统实验:进程同步和通信(生产者消费者问题模拟)
//producer_consumer.cc #include #include #include using namespace std; const int bufferSize = 8; vector buffer(bufferSize); queue waitQueue; int id; int writeptr, readptr; int consumer, producer; v
经典进程同步问题 生产者——消费者问题
“生产者消费者”<em>问题</em>是经典的<em>进程同步</em><em>问题</em>,它是在同一块儿进程地址内不同线程对于资源的利用时避免死锁的<em>问题</em>。     总结了一下网上的windows api函数的用法:      /////////////////////////////////////////////////////////////////////////////// 用户模式 对事件进行初始化操作 HANDLE Creat
Delphi高手突破
Delphi<em>高手</em>突破,pdf格式电子书,还不是<em>高手</em>的同学<em>看过来</em>
windows中的进程间同步
今天,翻开《MFCwindows程序设计》,耐心看完了这一章,所以写点东西,以备后面使用。   多线程的同步: 1.       临界区        只能同步同一个进程的线程之间的同步,因为临界区不能跨越进程的边界工作。也是因为临界区没有name,所以不能跨进程使用。        访问临界区之前进行锁定,访问后进行解锁。 如果进程B访问进程A锁定的临界区,那么进程B会被阻塞,直到线
【进程间通信】——认识同步与互斥,了解生产者消费者原理。
临界资源 在操作系统中,进程是占有资源的最小单位(线程可以访问其所在进程内的所有资源,但线程本身并不占有资源或仅仅占有一点必须资源)。但对于某些资源来说,其在同一时间只能被一个进程所占用。这些一次只能被一个进程所占用的资源就是所谓的临界资源。典型的临界资源比如物理上的打印机,或是存在硬盘或内存中被多个进程所共享的一些变量和数据等(如果这类资源不被看成临界资源加以保护,那么很有可能造成丢数据的<em>问题</em>...
操作系统:经典进程同步问题(1)生产者-消费者问题
知识总结: 1.生产者消费者模型: (同步+互斥模式)
操作系统实验——进程的同步与互斥(读者写者问题
以生产者消费者模型为基础,在Windows环境下创建一个控制台进程,在该进程中创建读者写者线程模拟生产者和消费者。写者线程写入数据,然后将数据放置在一个空缓冲区中供读者线程读取。读者线程从缓冲区中获得数据,然后释放缓冲区。当写者线程写入数据时,如果没有空缓冲区可用,那么写者线程必须等待读者线程释放出一个空缓冲区。当读者线程读取数据时,如果没有满的缓冲区,那么读入线程将被阻塞,直到新的数据被写进去。
操作系统进程同步算法——生产者-消费者问题
<em>问题</em>描述:一组生产者进程和一组消费者进程共享一个大小为n的缓冲区,只有没其他进程使用缓冲区时,其中的一个进程才能访问缓冲区。对于消费者来说,只有缓冲区不空时才能访问缓冲区并读取信息;对于生产者来说,只有缓冲区不满是才能访问缓冲区并写入信息。#include &amp;lt;iostream&amp;gt; #include &amp;lt;stdlib.h&amp;gt; using namespace std; const ...
进程同步的基本概念
<em>进程同步</em>的基本概念:临界资源、同步和互斥在多道程序环境下,进程是并发执行的,不同进程之间存在着不同的相互制约关系。为了协调进程之间的相互制约关系,引入了<em>进程同步</em>的概念。临界资源虽然多个进程可以共享系统中的各种资源,但其中许多资源一次只能为一个进程所使用,我们把一次仅允许一个进程使用的资源称为临界资源。许多物理设备都属于临界资源,如打印机等。此外,还有许多变量、数据等都可以被若干进程共享,也属于临界...
linux线程同步和进程同步的区别
基本概念: 大部分同学都知道线程同步和<em>进程同步</em>的概念, 线程同步:多线程编程中,解决共享资源冲突的<em>问题</em> <em>进程同步</em>:多进程编程中,解决共享资源冲突的<em>问题</em> 但是部分同学对线程同步和<em>进程同步</em>研究得不够深入,比如互斥锁和条件变量能不能同时用于线程同步和<em>进程同步</em>,本质上有什么区别。 首先我们知道,linux下每个进程都有自己的独立进程空间,假设A进程和B进程各有一个互斥锁,这个锁放
经典进程同步问题-生产者消费者问题
一、生产者-消费者<em>问题</em> 生产者-消费者<em>问题</em>是一个著名的<em>进程同步</em><em>问题</em>。 它描述的是:有一群生产者进程在生产产品,并将这些产品提供给消费者进程去消费。为使生产者进程与消费者进程能并发执行,在两者之间设置了一个具有n个缓冲区的缓冲池,生产者进程将它所生产的产品放入一个缓冲区;消费者进程可从一个缓冲区中取走产品去消费。尽管所有的生产者进程和消费者进程都是以异步方式运行的,但它们之间必须保持同步,即
进程间同步互斥经典问题(一)生产者-消费者问题
<em>问题</em>描述:生产者-消费者<em>问题</em>,也叫做缓存绑定<em>问题</em>(bounded-buffer),是一个多<em>进程同步</em><em>问题</em>。 即有两个进程:制造少和消费者,共享一个固定大小的缓存 制造商的工作是制造一段数据,放进缓存,如此重复。 消费者一次消费一段数据,从缓存中取出。 要保证不让制造商在缓存还是满的时候仍要向内写数据,不让消费者试图从空的缓存中取出数据。 <em>问题</em>分析: 要避免多个生产商竞争一个
操作系统 信号量习题--实例(对上次笔记“经典同步问题”*补充)
课前<em>问题</em> 1.什么是进程? 答:进程是进程实体的运行过程,是系统进行资源的分配与调度的一个单位。(进程实体=数据段+程序段+PCB) 2.理解PCB的作用? 答:进程控制块PCB,它是为了管理计算机中的进程而产生的,它是进程实体的一部分,用于描述进程的当前状况以及进程运行的信息。 系统通过PCB来感知进程的存在,对于中断来说,他可以保护现场,以及恢复现场都要用到PCB;PCB中保存了进程的状态信息...
哲学家吃饭问题---进程互斥与同步
目录 实验二 消费者生产者模型 1.1实验目的 1.2实验内容 1.3基本概念与原理 1.31 程序设计思想 1.32程序结构 1.33算法程序 1.34程序运行图   一些函数功能   1、库文件:#include &amp;lt;pthread.h&amp;gt; 2、数据类型: pthread_mutex_t       //互斥量 pthread_mutexattr_t  ...
【操作系统复习】第三章 第四节 进程同步与进程通讯
操作系统复习 第三章 进程管理 3.4 <em>进程同步</em>与进程通信 一、进程间同步与互斥 进程间制约关系 直接制约关系:同步 间接制约关系:互斥 临界资源与临界区 临界资源:一次仅允许一个进程访问的资源 临界区:访问临界资源的程序段 进入区 临界区 退出区 临界区的原则 空闲让进 忙则等待 有限等待 让权等待 二、硬件方法解决互斥/硬件同步机制:硬件层面 1.关中断 2.专用机...
进程(线程)间同步互斥问题(四) 三个烟鬼问题
<em>问题</em>描述三个烟鬼<em>问题</em>实际上就是线程的并发<em>问题</em>: 三个烟鬼,一个有烟草,一个有烟纸,一个有火柴 上帝拿走两个人的材料给一个人,那么你那个人可以抽一支烟 当那个人抽完这只烟的时候,上帝重新做决策 题目分析:-其实就是有前提条件的同步<em>问题</em>: “上帝给材料才能抽烟” “当前抽烟的抽完上帝才能指派下一个人” 同时只会有一个人在抽烟 基本思路: 首先考虑上帝: 上帝指派人的时候,不能有人在抽烟,所以需要一个信
操作系统面试—进程同步
本文是基于操作系统概念(第七版)第六章的学习总结,不足之处欢迎批评指正。 一、什么是临界区<em>问题</em>? 临界区是指在该区域中,进程可能改变共同变量、更新一个表、写一个文件等。如果多个进程进入临界区进行修改,那么将会引起混乱。 典型进程的通用结构: do{ 进入区;    临界区; 退出区;   剩余区; }while(true); 临界区<em>问题</em>的解答必须满足下面三个要求: 1、互斥。
操作系统进程同步三大问题:生产者消费者,哲学家进餐,读者写者问题
对于非科班出身的我,,,最近自学操作系统做了一些<em>进程同步</em>的笔记,写出来,希望能对大家有帮助,我是参照哈工大张英涛老师的视频和汤子瀛的书写的: 进程与进程之间的合作机制: 信号量机制!!! 信号量是一种数据结构。 信号量的值与相应资源的使用情况有关。 信号量的值仅由原语P、V操作改变   (1)整型信号量 整型数  S 0代表空闲可用 P操作(wait)原语 V操作(signal
[进程同步]—读者与写者的问题
读者与写者的<em>问题</em> 例:有读写两组进程,共享一个文件。多个读者可同时访问文件,但多个写者不能同时访问文件,写者和读者也不能同时访问文件。 特征:资源被谁占用,读者,写者;读者会形成一个读者团。 分析: 写者—S—文件是否被占用; 读者团 第一个读者:文件是否被占有 中间读者:只增加读者团人数 最后一个读者:释放文件...
计算机操作系统 2.5对经典进程的同步问题 的简单解释
首先简单说明以下P.V.操作的作用P操作:信号量– –; V操作:信号量++;生产者—消费者<em>问题</em>:empty:表示空缓冲区的数目,其初值为缓冲池的大小n,表示消费者已把缓冲池中全部产品取走,有n个空缓冲区可用。 full:表示满缓冲区的数目(即产品数目),其初值为0,表示生产者尚未把产品放入缓冲池,有0个满缓冲区可用。 mutex:互斥信号量,表示进程对缓冲池的互斥使用,及任何时间点内只能由一
操作系统进程同步和互斥的实验报告
操作系统<em>进程同步</em>和互斥的实验报告。。。<em>关于</em>操作系统进程的同步与互斥<em>问题</em>的实验报告。
操作系统课程设计-进程同步模拟(吃水果问题)
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1.模拟吃水果的同步模型:桌子上有一只盘子,最多可容纳两个水果,每次只能放入或者取出一个水果。爸爸专门向盘子中放苹果,妈妈专门向盘子中放橘子,两个儿子专门等待吃盘子中的橘子,两个女儿专门等吃盘子中的苹果。
操作系统进程同步问题
1.临界区<em>问题</em> 假设摸个系统中有n个进城,每个进城
操作系统实验-进程的同步与互斥代码
操作系统实验-进程的同步与互斥代码,相关细节介绍如题,很是全面的东东,直接可用。Donald_Tyr发布,必属精品! QQ:3729734 E_mail:i.d.card@msn.com BLOG:http://di-bar.f31.net
[面试]进程同步的四种方法
<em>进程同步</em>的四种方法 1、临界区(Critical Section):通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。 优点:保证在某一时刻只有一个线程能访问数据的简便办法 缺点:虽然临界区同步速度很快,但却只能用来同步本进程内的线程,而不可用来同步多个进程中的线程。   2、互斥量(Mutex):为协调共同对一个共享资源的单独访问而设计的。 互斥量跟临界区很相似
进程同步问题之哲学家进餐
哲学家进餐<em>问题</em>: 由 Dijkstra 提出并解决的哲学家进餐<em>问题</em>(The Dinning Philosophers Problem)是典型的同步<em>问题</em>。该<em>问题</em>是描述有五个哲学家共用一张圆桌,分别坐在周围的五张椅子上,在圆桌上有五个碗和五只筷子,他们的生活方式是交替地进行思考和进餐。平时,一个哲学家进行思考,饥饿时便试图取用其左右最靠近他的筷子,只有在他拿到两只筷子时才能进餐。进餐完毕,放下筷子继续...
Windows下C++实现进程间同步
Windows下C++实现进程间同步一,方法介绍二,踩过的坑三,正确方式(附代码) 多线程同步在平常的使用中很常见,可以通过临界区,互斥量,事件等来实现,具体的选择依赖于不同的使用场景。但是<em>进程同步</em>使用的比较少,网上查找资料,也多是以多线程使用来讲解的,并不详细。刚好自己正在做一个升级程序,主程序是一个进程,升级程序是一个进程,我把所有的与升级服务端的交互全部放在了升级程序中,所以当升级程序从服务...
操作系统 -- 进程间同步机制
操作系统的共享进程间的同步<em>问题</em>关乎到数据的一致性以及操作系统的可实践性,是十分重要的概念。本篇博客将从宏观上梳理操作系统<em>进程同步</em>的解决方案,同时引出当前广泛使用的一种有效措施。<em>进程同步</em>机制基础概念为何要引入<em>进程同步</em>机制首先来明确一下,为什么要引入进程间的同步?由于操作系统中的进程是并发的,因此当协同进程对共享数据进行访问时,可能会造成数据的不一致性<em>问题</em>。为了保证数据的一致性,那么我们就需要一种有效地
同步和互斥——生产者和消费者进程版
一、同步和互斥的概念什么是同步?什么是互斥?同步是一种时序关系。如规定了进程1处理完事情A后,进程2才能处理事情B,经典的同步<em>问题</em>是生产者和消费者间的同步.互斥描述的是一种独占关系.如任一时刻,进城1和进程2中只能有一个写文件C.有人说互斥是一种特殊的同步,同步是一种更为复杂的互斥关系(见" http//topic.csdn.net/t/20020711/17/867228.htm
我见过几个真正的电脑高手
  很久以前看过,然后突然想到,于是拿来分享~~~有很多集的,但是看多了无聊,就拿几个好了。­1. 很久以前,那还是我用win98的时候有次我系统崩溃了,因为我是电脑白吃,我朋友给我介绍了一个<em>高手</em>来帮我修电脑。­    ­    他看了一下电脑,问我有没有98的盘,我说没有。­    ­    他想了一下,叫我把固定电话拿给他,我
三大经典同步问题——Java代码实现(信号量模拟)
三大经典同步<em>问题</em>——Java代码实现(信号量模拟) 一、代码结构说明 1、common包①JavaSynchronizationTest.java 简单介绍了信号量机制在Java里面的实现:结合synchronized关键字和对象锁机制 /** * PV测试:PV代码直接写的话是无法保证原子性操作的 *  * 还有Integer好像不是线程安全的 *  * 代码功能2个进程(线程)把buffer累...
操作系统学习-7. 经典的进程同步问题
操作系统学习-7. 经典的<em>进程同步</em><em>问题</em> 写在前面:在这一篇博客,我们将学习经典的<em>进程同步</em><em>问题</em>,较有代表性的是“生产者—消费者”<em>问题</em>、“读者—写者”<em>问题</em>、“哲学家进餐”<em>问题</em>,通过对这些<em>问题</em>的研究和学习,可以帮助我们更好地理解<em>进程同步</em>的概念及实现方法。
操作系统--进程同步与死锁
5 <em>进程同步</em> 5.1 <em>进程同步</em>的基本概念 5.1.1 并发性     进程的并发性是操作系统的基本特征,并发可以改善操作系统资源的利用率,提高系统的吞吐量。所谓并发性,是指一组进程执行在时间点上相互交替,在时间段上互相重叠。 5.1.2 与时间相关的错误     在多进程并发的情况下,进程共享某些变量或硬件资源,由于进程的执行具有不确定性,如果不对进程的执行加以制约,其执行结果往往是错误
Java 开发规范
项目上常用的规范,<em>看过来</em>,<em>看过来</em>,<em>看过来</em>,<em>看过来</em>,<em>看过来</em>,<em>看过来</em>
高手看过来关于KeyState的问题
我在对话框中加了一个StatusBar,我想让它显示NumLock是否北锁定。我试了WM_KEYDOWN,WM_SYSKEYDOWN,都不能捕捉到这两个消息,是不是跟Focus状态有关,还是系统根本就没有把消息发给这个没有Focus的Dialog.请问该如何得到这消息。
高手看过来关于视频点播问题
我要配置一个视频点播系统,服务器用Win2000 Advance,点播系统,用微软的Media Service,配置点播的时候,只能把点播的电影文件放在C:下面,如果是别的驱动器,就不能访问,我的所有的驱动器都是NTFS的,MMS的帮助上面也没有说有这样的<em>问题</em>,我头痛死了,究竟是什么<em>问题</em>呢?如何解决?rnrn还有一个奇怪的东西,请教各位:rnmms://210.83.130.164/109615.wmv?progname=阿育王rn这个是什么玩意?
进程同步之理发师问题的理解
描述:理发店有一位理发师和一把理发椅。如果没有顾客,则理发师在理发椅上睡觉;当有顾客到达时,如理发师在睡觉则唤醒他理发,如果理发师正忙着理发,则坐在椅上等待。    编写程序实现理发师和顾客行为的正确描述。    行为分析:   Ø理发师行为:睡觉、理发。没有顾客睡觉,有顾客理发。   Ø顾客行为:理发或等待。   Ø相互作用:     理发师与顾客之间:同步     顾客与顾客之...
高手看过来关于随机数的问题
我编了一个统计随机数出现次数的东东,但是怎么每次的运行结果都是一样的(除非Times改变),c++中随机数需要播种吗,怎么播,<em>高手</em>指点一下,3Xrnrn#include rn#include rn#include rnrn#define Num 5rn#define List 21rn#define Times 10000rnrnint main(int argc ,char **argv)rnrn int i,a,b,m=0;rn int array[List+1], number[List+1];rn rn for(i=1;ib) b=array[a]; m=a;//比较结果 rn array[m]=0;rn cout<
高手看过来关于MTS的问题???????
我们经常看到MTS,请问MTS到底是不是一个应用服务器,它要不要安装或者在Win2000是否自带了,它有管理配置界面吗?有没有好的材料吗?
高手看过来关于SQLExecute的问题
现在有两个线程或进程,记为:A,B。 A用于向数据库(access数据库)写记录,B用于向数据库读记录。A每向数据库写(事实上是更新一条记录)完一条记录后就向B发送一个通知,B就去读那条记录。A写完的标志是执行SQLExecute,即调用SQLExecute后再向B发送通知(由于这比较重要,所以重复了一下)。 现在的<em>问题</em>是:B读取不到A更新后的记录,似乎A执行SQLExecute只是表面上的执行,或者说只是提交了一个执行语句而已,并没有再物理上(暂且这样说了)执行该语句,而B反而提前开始读取了。 请问SQLExecute是异步的方法吗? 我曾经试着让A执行SQLExecute后sleep 1秒再通知B, 就可以避免上面的错误,但由于数据量比较大,这样的方法不现实。 好像说可以在调用SQLExecute后再关闭数据库连接,再通知B,也能确保不出现上述<em>问题</em>,可是这样也不现实。 请问有哪位<em>高手</em>知道可以让SQLExecute真正的立即在物理上的执行?rn
进程同步--生产者消费者问题(Producer-consumer Problem)
From Wikipedia 生产者消费者<em>问题</em>(英语:Producer-consumer problem),也称有限缓冲<em>问题</em>(英语:Bounded-buffer problem),是一个多线程同步<em>问题</em>的经典案例。该<em>问题</em>描述了共享固定大小缓冲区的两个线程——即所谓的“生产者”和“消费者”——在实际运行时会发生的<em>问题</em>。生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程。与此同时,消费者也
进程互斥和进程同步
概念: 1.临界资源(critical resource): 系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源(或互斥资源)。 2.临界区(互斥区)(critical section(region)):各个进程中对某个临界资源(互斥资源)实施操作的程序片段。 3.进程互斥(mutual exclusive):由于各进程要求使用共享资源(变量、文件等),而这些资源需要排他性使用,...
进程同步-生产者和消费者(PV操作实现——java多线程模拟)
<em>进程同步</em>-生产者和消费者(PV操作实现——java多线程模拟)目录<em>进程同步</em>-生产者和消费者PV操作实现java多线程模拟 目录 生产者和消费者概述 PV操作解决生产者和消费者 任务要求 程序代码 运行结果 生产者和消费者概述 生产者消费者<em>问题</em>(英语:Producer-consumer problem),也称有限缓冲<em>问题</em>(英语:Bounded-buffer problem),是一个多线程同步<em>问题</em>的
操作系统实验四之进程同步实验
/* 抽烟者<em>问题</em>。假设一个系统中有三个抽烟者进程,每个抽烟者不断地卷烟并抽烟。 抽烟者卷起并抽掉一颗烟需要有三种材料:烟草、纸和胶水。一个抽烟者有烟草, 一个有纸,另一个有胶水。系统中还有两个供应者进程,它们无限地供应所有三种 材料,但每次仅轮流提供三种材料中的两种。得到缺失的两种材料的抽烟者在卷起 并抽掉一颗烟后会发信号通知供应者,让它继续提供另外的两种材料。这一过程重复进行。 请用以上介绍的
Linux 多线程同步之哲学家用餐问题分析
有五个哲学家公用一张餐桌,分别坐在周围的五张椅子上,在餐桌上有五个碗和五只筷子,他们的生活方式是交替地进行思考和用餐。平时,一个哲学家进行思考,饥饿时便试图拿取其左右最靠近他的筷子,只有在他拿到两只筷子时才能进餐,进餐完毕,放下筷子继续思考。 思路: 选用互斥锁mutex,如创建5个, pthread_mutex_t m[5]; 模型抽象: 5个哲学家 5个线程; 5支筷子 -
Java进程间的同步与互斥实例(实现读者写者问题
题目描述: 给定一个队列A[1-10][1-100000]、元素编号1-10,其中每个元素包含10万个随机数。创建若干个线程,各循环100次;其中10,100个为读线程,10,100个为更新线程。 1.    读线程每次产生随机数三元组:(i, j, k),其中i:[1-10], j: [1-100000],k[j-100000],求取指定A[i]一级数组中第j到第k个元素的均值; 2.
进程的同步-吃水果问题
模拟:桌上有一只盘子,每次只能放入一个水果。爸爸专向盘子中放苹果,妈妈专向盘子中放桔子,一个女儿专等吃盘子里的苹果,一个儿子专等吃盘子里的桔子。只要盘子空则爸爸或妈妈都可以向盘子放一个水果,仅当盘子中有自己需要的水果时,儿子或女儿可以从盘子中取出水果。 采用Windows的事件机制实现。
4、进程同步进程同步的概念和同步原则,临界资源和临界区的概念,信号量及其应用,经典进程同步问题
<em>进程同步</em>的概念临界资源:许多硬件资源如打印机、磁带机等,都属于临界资源(CriticalResouce) 临界区:人们把在每个进程中访问临界资源的那段代码称为临界区(critical section) repeat entry section critical section; exit section remainder section; until false;
读者-写者同步问题的写者优先实现
代码int Rcount=0; //“正在读”的进程数,初值是0。 int Wcount=0; //“等待写”的进程数,初值是0。 semaphore r=1; //信号量,用于Rcount的互斥。 semaphore w=1; //信号量,用于Wcount的互斥。 semaphore RWmutex =1; //信号量,用于读者写者互斥。 semap
操作系统概念(第六章) 进程同步(一)
<em>进程同步</em>背景互相协作的进程之间有共享的数据,于是这里就有一个并发情况下,如何确保有序操作这些数据、维护一致性的<em>问题</em>,即<em>进程同步</em>。从底层到高级应用,同步机制依次有临界区、信号量、管程、原子事务。多个进程并发访问和操作同一数据且执行结果与访问发生的特定顺序有关,称之为竞争条件(race condition)。临界区(critical section)每个进程有一个代码段(code segment)称为临
[操作系统]复习四 进程 同步互斥 死锁
进程和程序的本质区别在于动态和静态特征   系统中感知进程的唯一实体是PCB(进程控制块,process control block)     进程状态转换:①运行②就绪③阻塞 运行:当一个进程在处理器上运行时,称其为运行状态,对于单处理器系统来说,处于运行状态的进程只有一个。在没有其他进程可执行时(比如所有进程都处于阻塞状态),通常会自动执行系统的空闲进程。 就绪:当一个进程获得了
管程机制处理进程同步问题
<em>进程同步</em>机制有很多,主要有PV操作和信号量,管程,以及消息传递等。 由于PV操作的使用分散在各个进程之中,不利于对临界资源的统一管理,还有PV操作的使用需要小心,若顺序不对,或忘一个没写,很容易陷入死锁,所以,管程就能解决上面<em>问题</em>。 管程的基本思路是:将分散在各个进程中的临界区集中起来进行统一控制和管理,并且将系统中的共享资源用数据结构抽象的描述出来,然后对临界区的访问通过管程进行统一
睡觉理发师问题——进程同步与死锁
     前些时看了一下操作系统原理,当我看到<em>进程同步</em>这里时有一个<em>问题</em>引发了我的思考:睡觉理发师<em>问题</em>。     具体如下:一个理发店里有一个理发师,一张理发椅子,多张等候的椅子,当没有顾客的时候,理发师就睡觉。当一个顾客来到店里时,如果理发师在睡觉,则叫醒理发师;否则便坐着等;如果等待的椅子都满了就离开。      我觉得这个<em>问题</em>可以引发许多<em>关于</em>操作系统的<em>问题</em>。比如:<em>进程同步</em>及程序执行
利用信号量机制解决进程同步和互斥问题
利用信号量机制解决<em>进程同步</em>和互斥<em>问题</em>   在讨论如何用信号量机制解决这个<em>问题</em>之前,我们应该先了解<em>进程同步</em>和互斥间的一些概念。 首先是进程间的两种关系:同步和互斥。所谓同步就是把异步环境下的一组并发进程,因直接制约而互相发送消息二进行互相合作、互相等待,使得各进程按一定的速度执行的过程。互斥是指不允许两个以上的共享该资源的并发进程同时进入临界区。其中直接制约是指一组在异步环境下的并发进程,各自
3. 进程同步的几种方式
1、信号量      用于进程间传递信号的一个整数值。在信号量上只有三种操作可以进行:初始化,递减和增加,这三种操作都是原子操作。递减操作可以用于阻塞一个进程,增加操作可以用于解除阻塞一个进程。      基本原理是两个或多个进程可以通过简单的信号进行合作,一个进程可以被迫在某一位置停止,直到它接收到一个特定的信号。该信号即为信号量s。为通过信号量s传送信号,进程可执行原语semSignal(
马云:高手的竞争论,句句深刻励志!
我相信两个信条:态度比能力重要,选择同样也比能力重要! 1、马云:不能统一人的思想,但可以统一人的目标 千万不要相信你能统一人的思想,那是不可能的。 30%的人永远不可能相信你,不要让你的同事为你干活,而让他们为我们的共同目标干活。 团结在一个共同的目标下,要比团结在一个人周围容易的多。 2、马云提醒:细节好的人格局一般都差 ①有人觉得我牛,6分钟说服了
关于SpringBoot bean无法注入的问题(与文件包位置有关)
<em>问题</em>场景描述整个项目通过Maven构建,大致结构如下: 核心Spring框架一个module spring-boot-base service和dao一个module server-core 提供系统后台数据管理一个module server-platform-app 给移动端提供rest数据接口一个module server-mobile-api 其中server-platform-app 与
最强的MySQL图形界面工具—SQLyog Enterprise 7.14绿色汉化注册版下载
业界公认功能最强悍的MySQL图形化操作界面管理工具。体积小却五脏俱全,不管是数据备份还原,远程操作MySQL数据库,高效快速的运行效率,无人能敌!各种智能化的数据迁移、数据同步、通知服务、自动完成功能一应俱全。 本汉化版提取自最新企业版,拥有完全功能组建,完美解决其他MySQL图形工具的中文乱码问题!! MySQL图形操作必备工具。 有朋友反映说诺顿等杀毒软件可能会误报,这是由于在绿化汉化过程中,使用了微压缩加壳,以及一些加快软件响应的相关机制。 相关下载链接:[url=//download.csdn.net/download/yes933/1061631?utm_source=bbsseo]//download.csdn.net/download/yes933/1061631?utm_source=bbsseo[/url]
火星人敏捷开发手册 2011-12-31下载
您可以在非商业场合免费使用(详见文档最后的授权页面): •作为培训前的预习阅读。 •打印并张贴在公司走廊上。 •作为企业内部小组培训教材使用。 请大家跟帖多提意见和要求,以便及时更新。 相关下载链接:[url=//download.csdn.net/download/cheny_com/3989525?utm_source=bbsseo]//download.csdn.net/download/cheny_com/3989525?utm_source=bbsseo[/url]
WPF编程宝典C#2010版【0分资源】下载
WPF编程宝典C#2010版【0分资源】 上一个不小心设置了1分 现在取消 另外 C#100个编程实例程序 http://download.csdn.net/detail/cleopard/5888641 如何学好Iphone开发 20天搞定iPhone软件开发 http://download.csdn.net/detail/cleopard/5798391 Android愤怒的小鸟高仿源码http://download.csdn.net/detail/cleopard/5752663 100个经典Android Demo集合http://download.csdn.net/detai 相关下载链接:[url=//download.csdn.net/download/cleopard/5888955?utm_source=bbsseo]//download.csdn.net/download/cleopard/5888955?utm_source=bbsseo[/url]
文章热词 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java 在线学习 高手 黑马大数据高手班
我们是很有底线的