世界快看:操作系统中死锁的算法——银行家算法
1.银行家算法
银行家算法是操作系统中死锁避免的一种算法,这是一个理想化的方法,一般实际中很少用到,因为要提前知道每一个进程申请资源的最大需求量,这一般很难控制. 算法的思想: 1.知道系统中每个资源的资源量. 2.知道每个进程对每个资源的最大需求量. 3.当给每个进程进行申请对应资源的时. 3.1.如果此次申请的资源数+已经持有的资源数大于了该进程的最大需求量,那么则拒绝分配. 3.2.如果此次申请的资源数+已经持有的资源数小于等于该进程的最大需求量.那么就需要和此时系统中剩余的资源数进行判断.转到第4步骤. 4.如果系统中剩余的资源数可以满足该进程尚需的最大资源数,则进行分配.否则拒绝分配. 5.如果最后满足了上面第3和第4的分配后,还需要做最后一步,若给了该进程此次的申请资源数,是否可以查找到一个安全序列,如果可以找到一个安全序列,那么则最后再分配,否则也不予分配该进行的此次的申请.
如果可以找到一个安全序列,则系统处于安全状态. 如果找不到一个安全序列,则系统处于不安全状态.
【资料图】
注意:如果系统处于不安全的状态,不一定会产生死锁,如果系统产生了死锁,那么该系统一个处于不安全状态.
2.例子和运行结果
3.算法实现
3.1 定义数据结构
#include#include#define KIND_MAX 100//默认的资源种类数量#define PROCESS_MAX 100//默认的进程数量typedef struct ResourcesEntity{int max;//最大的拥有量 int haved;//还剩下的数量 int temp;//临时存储剩余的,检查安全序列的时候用到的}RE;typedef struct ProcessEntity {int maxKindCount[KIND_MAX];//对每个资源的最大需求量数组 int allocatedKindCount[KIND_MAX];//已经分配的种类数量 int needKindCount[KIND_MAX];//对每个资源尚需要的量 int tempKindCount[KIND_MAX];//存储临时申请的资源数量}PE;
KIND_MAX:默认的系统中最大的资源种类数量. PROCESS_MAX:默认系统中同时申请资源进程的数量.
ResourcesEntity:进程资源的数据结构 max:存储系统中最大拥有该资源的数量 haved:存储系统中还剩下的该资源的数量 temp:用于临时存储申请资源的进程申请的数量,用于寻找安全序列的计算.
ProcessEntity:进程的数据结构. maxKindCount:数组中存放该进程最每个资源最大需求量 allocatedKindCount:数组存放该进程已经申请到的每个资源的数量 needKindCount:数组存放该进程该需要每个进程的数量 tempKindCount:数组用存储该进程对每个资源的本次申请的数量.
3.2算法实现思想
int resources_Size;//资源种类总数int process_Size;//进程总数RE resource[KIND_MAX];//资源种类数组PE process[PROCESS_MAX];//进程的数量
resources_Size:用于存储动态的资源种类数量. process_Size:用于存储动态的进程数量. resource:数组存放资源种类. process:数组存放申请资源的进程.
1.当初始化了系统资源和初始化进程 1.1判断每个进程对每种资源初始化的数量是否大于了该进程的最大需求量(process[i].needKindCount[j]<0),如果这样的进程数量大于0,那么拒绝分配.初始化失败. 1.2.判断每个进程的最大需求量是否大于了系统最大持有的数量(resource[j].max-process[i].maxKindCount[j]),如果这样的进程数量大于了0,则拒绝分配,初始化失败. 1.3.判断所有的进程对每种资源已分配的数量总和是否大于了系统中最大的持有数量.如果这样的资源种类大于0(resource[j].haved<0),那么拒绝分配,初始化失败. 1.4.判断系统是否是安全状态(是否找到一个安全序列),至于怎么寻找安全序列,申请资源的时候再介绍.如果寻找到了安全序列,则初始化成功,否则初始化失败. 2.到了这里,表示初始化成功了,下面就是当进程申请资源的时. 2.1.如果把该进程此次申请的资源数量分配给该进程,是否超过了该进程的对该资源的最大需求量(process[progressNum].maxKindCount[i]-process[progressNum].allocatedKindCount[i]-process[progressNum].tempKindCount[i]),如果小于0表示,超过了该进程的最大需求量,拒绝分配. 2.2判断该系统剩余的资源数量是否满足该进程尚需的需求量(resource[i].haved-process[progressNum].needKindCount[i]),小于0表示不满足,拒绝分配. 2.3如果上面两个条件都不符合,那么再判断若分配给该进程此次申请的资源,系统是否处于安全状态(寻找安全序列).如果找到安全序列,则分配,更新系统资源和进程资源信息,否则拒绝分配. 3.这里介绍寻找安全序列. 3.1:用于数组存储安全序列. 3.2.如果安全序列数组不等于进程数量,则继续寻找,否则跳转到3.4步骤 3.3.顺序寻找进程数组,找到第一个满足该进程尚需的资源数组(needKindCount).如果在安全序列数组未满的时候,未找到满足条件的进程,则查找失败,未找到安全序列,则拒绝此次的申请跳出寻找,转到3.4.如果找到了,则添加到安全序列数组中,然后更新系统的剩余的每个资源数量(存储在temp数组中).继续跳转到3.2步骤. 3.4如果未找到安全序列,那么拒绝此次分配,如果找到了安全序列,则将申请资源进程的信息和系统剩余的资源信息.
3.3方法定义
//重置资源void resetResourcesInfo(void);//重置进程void resetProcessInfo(void);//初始化资源void initializeResources(void);//初始化进程void initializeProcess(void);//打印Tablevoid printTable(void);//打印占位线void printfLine(int num,char c,int nextLine);//申请资源void applyResource(void);//检查系统是否安全int checkSecurityStatus(int progressNum,int isInit);//检查安全序列是否全部查找完成int checkSafeListFinish(int safeList[]);//获取下一个安全进程位置int getSafeProgressPosition(int safeList[],int progressNum,int isInit);//打印所有的资源状况void printfAllResource(void);//菜单int menuBank(void);
3.4方法实现
//判断数组中是否包含此值int isContain(int array[],int length,int value){for(int
i=0;i<LENGTH;I++){if(array[i]==value){return 1; } } return
0;}//打印线void printfLine(int num,char c,int nextLine){for(int
i=0;i<NUM;I++){printf("%c",c); } if(nextLine==1){printf("\n");
}}//初始化资源void initializeResources(){//重置资源 resetResourcesInfo();
printf("请输入资源种类总数(例如:若有R1,R2,R3三类资源,则输入3):");
scanf("%d",&resources_Size);
if(resources_Size<=0){printf("系统资源种类应大于0\n");
resources_size="">KIND_MAX){resources_Size=KIND_MAX; } for(int
i=0;i<RESOURCES_SIZE;I++){printf("请输入资源R%d的总数(大于0):",i+1);
//默认的剩余和最大是一样的 scanf("%d",&resource[i].max);
if(resource[i].max<0){resource[i].max=0; }
resource[i].haved=resource[i].max; } printfAllResource(); }
}//重置进程void resetProcessInfo(){process_Size=0; for(int
i=0;i<PROCESS_MAX;I++){for(int j=0;jprocess[i].maxKindCount[j]=0;
process[i].allocatedKindCount[j]=0;
process[i].tempKindCount[j]=0; } }}//重置资源void
resetResourcesInfo(){resources_Size=0; for (int i=0; i<KIND_MAX; --=""
i++)="" {resource[i].max=0; resource[i].haved=0; resource[i].temp=0;
} resetProcessInfo();}//初始化进程void initializeProcess(){//初始化所有进程
resetProcessInfo(); //初始化进程 printf("请输入进程的数量:");
scanf("%d",&process_Size); if(process_Size<=0){printf("进程数量应大于0\n");
process_size="">PROCESS_MAX){process_Size=PROCESS_MAX; }
for(int i=0;i<PROCESS_SIZE;I++){for(int j=0;jprintf("请输入
进程P%-2d<<目前占有>> 资源R%-2d的数量:",i+1,j+1);
scanf("%d",&process[i].allocatedKindCount[j]);
//从总资源中减去已分配的资源
resource[j].haved=resource[j].haved-process[i].allocatedKindCount[j];
} for(int j=0;jprintf("请输入
进程P%-2d<<最大需求>> 资源R%-2d的数量:",i+1,j+1);
scanf("%d",&process[i].maxKindCount[j]);
//尚需的资源数量(最大需求量-已分配的)
process[i].needKindCount[j]=process[i].maxKindCount[j]-process[i].allocatedKindCount[j];
} } printTable(); //检查初始化完毕后,是否安全
//1.检查每个进程已申请的是否超过了最大的需求量 //2.检查每个进程的最大需求量,是否超过了系统的最大持有量
//3.检查每个进程已申请的资源,是否超过了总资源的量 int isNeedReset=0;//是否重置 //1
for(int i=0;ifor(int j=0;jif(process[i].needKindCount[j]<0){isNeedReset=1;
printf("拒绝分配:进程%d对资源%d的申请大于了最大需求量(%d)\n",i+1,j+1,process[i].needKindCount[j]);
} } } //2. for(int
i=0;i<PROCESS_SIZE;I++){for(int j=0;j//表示进程i的对资源j最大需求量大于了系统持有的资源j的最大量.
//所以,即使除了当前进程外全部进程都释放了资源j,也无法满足当前进程的需求量. int
re=resource[j].max-process[i].maxKindCount[j];
if(re<0){isNeedReset=1;
printf("拒绝分配:进程%d对资源%d的最大需求量大于了系统最大持有资源R%d数量\n",i+1,j+1,j+1); }
} } //3. for(int
j=0;j<RESOURCES_SIZE;J++){if(resource[j].haved<0){isNeedReset=1;
printf("拒绝分配:所有进程对资源%d的已申请辆超过了系统的最大持有量(%d)\n",j+1,resource[j].haved);
} } if(isNeedReset==1){printf("请重新初始化进程(菜单编号2)\n");
//初始化所有进程 resetProcessInfo(); }else
if(checkSecurityStatus(0,1)==0){printf("请重新初始化进程(菜单编号2)\n"); //初始化所有进程
resetProcessInfo(); } }}//申请资源void
applyResource(){printfAllResource(); int pNum;
do{printf("请输入申请资源的进程P(%d,%d):",1,process_Size); scanf("%d",&pNum);
}while (pNum<=0|| pnum="">process_Size) ; for(int i=0;i安全序列:");
for(int i=0;i<PROCESS_SIZE;I++){if(i==0){printf("P%d",safeList[i]+1);
}else{printf(",P%d",safeList[i]+1); } } printf("\n");
//6.如果是申请的资源 //(1)更新申请资源的进程对应的资源数量 //(2)更新剩余的资源 if(isInit==0){for(int
i=0;i<RESOURCES_SIZE;I++){//更新目前占有量:加上申请的资源
process[progressNum].allocatedKindCount[i]=process[progressNum].allocatedKindCount[i]+process[progressNum].tempKindCount[i];
//更新尚需要量:减去申请的资源
process[progressNum].needKindCount[i]=process[progressNum].needKindCount[i]-process[progressNum].tempKindCount[i];
//更新系统剩余的资源:减去申请的资源
resource[i].haved=resource[i].haved-process[progressNum].tempKindCount[i];
} } return 1;}//获取安全进程位置角标int getSafeProgressPosition(int
safeList[],int progressNum,int isInit){for(int i=0;i
3.5算法的注意事项
1.初始化系统资源的时候也要判断是否存在安全序列 2.进程申请资源的时候,使用temp存储,计算安全序列的时候,也是使用temp中的值进行判断 3.当找到安全序列,记得更新申请资源的信息和系统剩余资源的信息.
4源码下载使用
1.此代码是在mac系统上的开发工具xcode上开发的,如果下载的代码要在WIndow系统上的VC6.0或者DevC++开发工具上运行,可能会存在中文乱码问题. 解决办法: 1.1可以在window上使用记事本打开,另存为:选择window系统上开发工具支持的编码方式. 1.2可以使用笨方法:在window开发工具上新建文件,然后使用记事本打开源代码后复制到新建的文件上.
2.如果出现不能运行的问题,就是方法中局部变量问题. 例如:
///判断数组中是否包含此值int isContain(int array[],int length,int value){for(int i=0;i<LENGTH;I++){if(array[i]==value){return 1; } } return 0;}
就需要把i抽取到方法体的顶部.
//判断数组中是否包含此值int isContain(int array[],int length,int value){int i; for(i=0;i<LENGTH;I++){if(array[i]==value){return 1; } } return 0;}
自己亲测在window上使用上述两种办法,解决了问题.mac编译工具到window编译工具可以运行.
标签:
相关推荐:
精彩放送:
- []股票开户需要多少钱
- []海昌海洋公园2022年营收同比下降近七成,将持续发展顶流IP
- []链家将27座城市转为加盟模式?贝壳:消息不实,仅为小范围合伙人模式
- []当前速讯:美达股份:公司生产的部分产品可在军民融合领域进行应用,具体请以公司公告和定期报告为准
- []每日看点!国睿科技:中国的城市轨道交通全自动运行(无人驾驶)信号系统处于国际先进水平
- []【全球报资讯】悦榕集团2022财年总计63家酒店收官 计划2025年扩张至113家
- []全球看热讯:我爱我家副总裁何洋辞任
- []我爱我家:五八有限公司拟减持不超过2.74%股份 持股比例将低于5%
- []中国恒大披露重组进展
- []电科院:公司具体经营情况详见以往定期报告
- []焦点讯息:航班老是临时取消?民航局要出手了
- []环球新资讯:国泰君安医药一季报业绩前瞻:业绩复苏环比趋势明确
- []【速看料】中信建投:TOPCon电池、组件超额利润有望扩大
- []眼看AI主题基金起高楼 “消费选手”仍在默默坚守
- []天天亮点!AI+元宇宙!Meta离梦想更进一步?
- []苏州常熟2宗宅地将于5月5日出让 起价合计5.4亿元
- []昭衍新药:公司会紧跟行业技术的发展变化,学习和借鉴相关技术在安评业务中的运用
- []环球百事通!中南建设前3月合同销售额120.4亿元 同比减少26.2%
- []消息!南昌中溢置业将转让杭州通原地产40%股权 底价8031.3万元
- []亚通精工:公司未有应披露而未披露事项,股价涨跌受多种因素影响,股价波动是正常的市场交易行为
- []西安国际港务区挂牌2宗宅地面积共117亩 起始总价为7.894亿元
- []财面儿丨越秀地产1-3月累计合同销售额约人民币438.33亿元 同比上升约217.3%
- []当前视点!海容冷链:公司产品不应用于殡葬行业,公司产品应用于快速消费品行业的渠道建设
- []每日时讯!将优化调整高校两成左右学科专业布点
- []【全球报资讯】合肥放开部分区域限购! 多孩家庭可买第3套住房
- []世界今日讯!链家欲在北京、上海以外城市转为加盟模式?贝壳回应:无此计划
- []每经热评|当前并非出台房产税政策的好时机
- []天天讯息:一个月的宝宝很容易被惊吓怎么办_一个月的宝宝发育指标
- []【热闻】怎样取公积金
- []今日热门!怎么取公积金
- []天天快看:交强险怎么用
- []贝壳:链家将27座城市转为加盟模式消息不实 仅为小范围合伙人模式
- []当前消息!滕哈赫:现在才是赛季真正的开始,输给纽卡后我们要有积极回应
- []道达尔能源与伊拉克政府就100亿美元天然气开发项目达成一致
- []世界快资讯丨林斌辞任奥园美谷财务总监职务?江永标继任
- []中南建设:中南城投减持212.03万股 占所持股比例0.11%
- []天天百事通!中南建设前三月累计合同销售金额120.4亿元 同比降26.2%
- []胡泊、李强分别辞任南国置业联席总经理、副总经理
- []万达投资新增质押1930万股万达电影 累计质押6665万股
- []环球今头条!刘鑫获任荣盛发展副总裁
- []全球热文:厦门象屿与河南能源集团签订战略合作协议
- []环球最新:4月05日20时青海海东今天新增确诊名单 4月05日20时青海海东疫情防控政策最新通知
- []当前视点!一半乡土质朴,一半文艺先锋,沙漠河流共生的小城,最美季节到了
- []全球热门:户用储能系统有什么用,有哪些特点和应用?
- []全球看热讯:长久物流设立储能全资子公司!
- []天天亮点!不低于1GW!泰达股份联手千泉实业投建光伏项目
- []30万吨光伏玻璃硅砂提纯项目环评
- []天天视点!超10GW!TCL中环单月出货新突破
- []一彬科技:公司生产经营一切正常。公司对未来汽车产业的发展充满信心
- []国际油价小跌,受制于美国制造业降温,本周重头戏待上演
- []焦点要闻:深圳到九江火车时刻表查询_南昌到九江火车时刻表
- []医道彤行,厚积薄发|2021道彤投资年度合伙人大会特写
- []海淘的childlife大瓶钙含防腐剂?专家建议婴幼儿产品选购要谨慎
- []好好香锅公司怎么样
- []观察:鸿路钢构:钢结构是绿色节能产品,是国家提倡并大力推广的装配式建筑的重要组成部分
- []基金经理猛追AI 但斌却突然唱空:一旦被套 不知猴年马月解套
- []关注:难道是真的?青海发现形状怪异的遗骸,揭开大禹治水背后的真相!
- []世界微头条丨维宏股份:整个Phoenix平台包含了软件和硬件两个部分
- []简讯:拜登:人工智能是否危险还有待观察 但科技公司需为安全负责
- []世界聚焦:2023年Q1季度精选文章合集 | 商旅会奖赛道
- []观速讯丨申请破产!暴跌90%
- []【全球新要闻】2023年Q1季度精选文章合集 | 在线旅游/分销赛道
- []每日关注!四川宜宾:住房公积金最高贷款额度可达90万元
- []全球快讯:伊戈尔:公司会根据客户需求和业务开拓的情况提前布局或者调整相应的产能
- []越秀地产:一季度累计销售约438亿元
- []环球今日讯!合肥调整购房政策:部分区域放开限购
- []全球微资讯!全国春风地图出炉 看看你那儿的四月天
- []环球关注:黄金大涨近2% 逼近历史最高纪录!金价为何持续大涨?专家解读
- []当前快报:是否想念篮球?维金斯:我非常想念队友们 期待与他们并肩作战
- []外汇交易提醒:降息预期升温,美元跌创近两个月新低,新西兰联储决议来袭,纽元续涨有望
- []周鸿祎突然离婚,要AI不要爱?董秘回应来了
- []accountnumber怎么读_Accountnumber
- []4月5日财经早餐:美数据疲软强化美联储放缓加息押注,金价站上2000美元/盎司大关创三十二个月新高
- []【世界聚看点】高达65%成本节约 施耐德电气适配改造服务助企业把握“循环”机遇
- []银行信贷投放不足原因_银行信贷的作用
- []恒达集团控股2022年收入增加约3.4% 纯利减74.3%至7780万
- []环球速读:车险佣金
- []看热讯:三大保险
- []热讯:寿险功用
- []当前资讯!聚焦中概 | 小鹏汽车跌幅扩大至7% 造车新势力普跌
- []双十原则
- []当前快看:乌龟冬眠是为了放水还是放沙?
- []天天快消息!周鸿祎与胡欢离婚 后者分得三六零4.46亿股、对应市值近90亿元
- []环球观热点:周度经济观察:斜率放缓的经济复苏
- []世界观焦点:申通快递:公司与阿里云合作,通过引入云原生技术实现了技术全面升级
- []全球短讯!深交所、沪交所4月8日全面实行注册制交易业务通关测试
- []亚太药业向下修正可转债价格 律师:索赔宜趁早
- []假期安全注意事项内容图片_假期安全注意事项内容
- []香山股份:目前尚无详细的市场份额数据,更多详情敬请留意公司官网及相关公告和定期报告
- []全球快看:秦安股份:4月3日公司高管刘宏庆减持公司股份合计1.16万股
- []保利发展:房地产持续向好的基本面没有变
- []世界快资讯:越秀地产前三月销售438亿?同比上升217%
- []当前聚焦:格力地产:珠海国资委同意公司收购免税集团 并募资不超70亿元
- []天天观点:保利发展:公司负债率连续三年下降 继续保持稳健财务政策
- []保利发展:灵活安排推货节奏?把握市场修复窗口
- []今日要闻!国家加强铁矿石价格形势分析研判和期现货市场监管
- []世界热资讯!宝馨科技:目前公司怀远一期2GW异质结电池及组件项目正在加速推进中,预计年内投产
- []天天观点:中交城投郑州古荥城更项目获得首笔融资
- []岭南股份:公有云是云计算的主要形态。公司已与腾讯建立云计算、数字虚拟人、大数据等方面的战略合作
- []世界短讯!西安土拍市场“活”了?
- B站注册资本增幅400%至5亿 目前由陈睿全资持股
- 光源资本出任独家财务顾问 沐曦集成电路10亿元A轮融资宣告完成
- 巨轮智能2021年上半年营收11.24亿元 期内研发费用投入增长19.05%
- 红枣期货尾盘拉升大涨近6% 目前红枣市场总库存约30万吨
- 嘉银金科发布2021年Q2财报 期内净利润达1.27亿元同比增长208%
- 成都银行2021上半年净利33.89亿元 期内实现营收同比增长17.27亿元
- 汽车之家发布2021年第二季度业绩 期内新能源汽车品牌收入增长238%
- 中信银行上半年实现净利润290.31亿元 期末不良贷款余额706.82亿元
- 光伏概念掀起涨停潮交易价格创新高 全天成交额达1.29亿元
- 上半年生物药大增45% 关键财务指标好转营收账款持续下降
- 世界快报:湖北襄阳高新区2.08亿售出65亩宅地 竞得者为本地房企
- 今日热讯:协创数据:公司存储设备主要与联想集团合作
- 【全球播资讯】三代人七十余载接力守护156座抗美援朝烈士墓
- 全球观天下!每日互动:AIGC和ChatGPT都是融合多种AI技术的成果
- 天天滚动:神州高铁:截至2023年3月31日,公司股东人数为91207
- 【天天新要闻】昭衍新药:股价走势受多方面因素的影响,还请谨慎投资
- 世界滚动:财面儿丨建发国际:前3月权益销售额353.4亿元,同比增长63.5%
- 全球实时:土地注册处:香港3月楼宇买卖合约8599份 按年升124.6%
- 【天天新要闻】昆明公租房开发公司最终发行6亿 品种一利率6.5%、品种二未发行
- 全球观点:拼多多升级组织架构 联合创始人赵佳臻出任联席CEO搭档陈磊
- 上海3月新建商品住宅成交面积环比增长94% 均价下跌2.8%
- 天天最资讯丨迪马股份为江苏2家子公司提供融资担保 涉资8.04亿元
- 滚动:狂飙910%!德国大储市场崛起,户储地位岌岌可危?
- 新消息丨最新进展!中科云网5GW TOPCON电池项目一期签署建设施工合同
- 焦点信息:煤矸石综合利用与矿山生态修复的战略思考
- 环球观热点:年产500万吨!全球规模最大光伏砂项目成功签约
- 最大涉水750mm 北京越野BJ60新增车型上市售24.58万-27.68万元
- 【天天播资讯】晶硅组件有什么作用和特点,有哪些种类?
- 环球旅讯+WiT新加坡主题沙龙开场演讲:你好,中国!
- 天天报道:新地University Hill料最快4月底开售
- 环球速递!万通发展:万通控股解质押270万股股份 现持公司股份3.34亿股
- 全球微动态丨建发房地产:10亿元公司债券票面利率为4.25%
- 世界头条:中核钛白:公司第三期员工持股计划并未在2023年3月14日进行大宗交易
- 全球观速讯丨祥生控股首季销售额54.19亿元 同比下滑38.73%
- 国际油价走强,但多头须警惕OPEC+最新减产的潜在负效用
- 恒基达鑫:公司始终密切关注横琴粤澳深度合作区相关的措施和政策情况,望能充分利用和享受到政策带来的红利
- 当前滚动:顾家家居:截至3月末累计回购股份106.28万股 总代价4187.73万元
- 海新能科: 截至2023年03月31日,公司股东总人数为45,272名
- 中红医疗:我国丁腈手套产品与马来西亚相比有一定的成本优势
- 经纬辉开:副董事长拟减持公司不超0.39%股份
- 富力地产:2022年度净亏损157.79亿元 预计今年可售货值超1250亿元
- 全球热点!小摩增持万物云39.86万股 总金额约1406.76万港元
- 全球速讯:嵘泰股份:我公司上市公司同行有旭升集团、爱柯迪、文灿股份等
- 新大正:正积极推进收购云南沧恒投资80%股权 尚存在不确定性
- 环球要闻:航天发展:截至2023年3月31日,航天发展股东户数为179,101户
- 当前快播:NYMEX原油仍上看83.17美元
- 4月4日福晶科技涨停分析:3D感应,中科院系,光通信概念热股
- 会德丰合作盘MIAMI QUAY I暂累售49伙 套现4.8亿港元
- 环球速读:“20绿城03”将于4月13日提前摘牌 发行金额为10亿元
- 天天资讯:4月4日中储股份涨停分析:央企改革,快递物流,国企改革概念热股
- 4月4日四川黄金涨停分析:黄金概念热股
- 环球今日讯!信达证券发布金陵饭店研报 年报点评:全年业绩稳中有增 布局中高端 注重品牌打造
- 焦点!学习心得怎么写?学习心得范本?
- 怎样追女生?追女孩子的方法有哪些?
- 环球观热点:仙剑奇侠传3有哪些歌曲?仙剑奇侠传3所有歌曲汇总?
- 合山市景点有哪些?合山市景点介绍?
- 每日短讯:降雨量50毫米是怎么计算的?降雨量50毫米的计算方法?
- 当前资讯!生物圈2号为什么会失败?生物圈二号失败的重要原因?
- 中青旅2022年营收64.17亿元,旅行社业务亏损收窄
- 捷信金融怎样贷款?捷信金融贷款条件有哪些?
- 环球热议:lol英雄联盟怎么观战?观看别人的游戏战斗方法?
- 每日看点!速干衣的特点有哪些?速干衣的主要功能是什么?
- 速讯:and1鞋子怎么样?and1鞋子有哪些特点?
- 焦点简讯:北京:加大老旧平房院落、老旧小区、危旧楼房和简易楼等更新力度
- 世界热文:常青股份:年报审计工作正在进行中,年报将于2023年4月26日披露
- 天天最新:山西大同:住房公积金贷款最高额度提至100万元
- 环球今头条!国际金价跌势受限,美国数据再现疲软,FED鹰派呼声难响
- 美原油交易策略:需求预期接力,油价或延续涨势
- 环球新消息丨苏泊尔拟分红24.40亿元 控股股东SEB国际或分得20.12亿元
- 千方科技:公司未参与您所提及的业务
- 当前快播:河南新乡:住房公积金最高贷款额度升至65万元
- 全球速读:发改委:产业目录引导横琴加大对新兴产业等的培育
- 焦点消息!年报横评①| 这些物企表现最好!五大指标透视2022年指标之最
- 世界焦点!医贝云服销售总监陈小飞:医贝云服伴随着药品和耗材供应链改革而诞生
- 孕妇补钙用金丐,早吃早手艺
- 环球新资讯:甘化科工:截至2023年3月31日,公司股东人数为27,947户
- 天天动态:上海新华联国际独栋商墅第三次流拍 起始价1.29亿元
- 焦点精选!明阳智能:尊敬的公司公司对外信息披露均按照信息披露要求进行
- 环球时讯:德恩精工子公司拟与亿盛房地产合作开发“滨江一号”项目 预计总投资约1.4亿元
- 环球今日讯!二手房成交量“狂飙”,百城落地“带押过户”
- 环球焦点!国际金价短线下看1970美元
- 【天天热闻】上海钢联:根据创业板上市公司相关规则,创业板上市公司无需披露季度业绩预告
- 非凡舞蹈学院创办人Jamila 王海青,打破自我,永不设限!善济有约
- 股票进仓是什么意思
- 云南省餐饮行业协会交流座谈会在文山举行
- “AI”拼才会赢?16只基金单日飙涨超7% 公募基金开始密集大调仓
- 三围怎么量
- 当前焦点!炒外汇为什么要拉人
- 用了“借钱三巨头”之一的钱小乐,真实感受:靠谱!
- 手机炒股票用什么软件最好
- 全球信息:收购瑞信后 瑞银将取代摩根大通成为拉美最大财富管理公司
- 市场对黄金ETF和金币的兴趣激增,渣打称这还只是开始!
- 天天热点!现货黄金交易策略:美元仍存下行风险,金价或震荡上攻
- 对冲基金放弃看空押注,金银正蓄势待涨!
- 当前播报:长春城投10亿元私募债券项目状态更新为“已反馈”
- 全球看点:北京:土地出让收入用于农业农村比例不低于7.5%
- 全球最新:【BT金融分析师】同程旅行月活跃用户破2亿,分析师称其度过行业低潮
- 天天速看:【BT金融分析师】亿航智能适航认证仍无进展,分析师称其前景变得模糊
- 全球关注:央行调查:54.1%的居民预期下季度房价“基本不变”
- 世界看热讯:黑石BREIT在3月收到45亿元美元赎回请求 仅获批6.66亿美元
- 北信源:获中国石油石化行业“科技进步一等奖” 树立油库安全生产行业典范
- 要闻速递:利嘉阁:港3月整体楼宇买卖8612宗 20个月新高
- *ST科华:公司业务情况请关注公司于2022年3月23日披露的《2022年年度报告》
- 今热点:通润装备:截止3月31日,公司股东总户数为33484
- 世界视点!2023年Q1季度精选文章合集 | 航空与大出行赛道
- 黄山一宾馆大堂挤满过夜游客?景区回应
- 观点:2023年Q1季度精选文章合集 | 目的地与文旅赛道
- 世界快消息!K11 MUSEA今年首季生意额创历年季度新高
- 全球热讯:银城物业服务于南京新增对外投资企业 出资比例均未公示
- 新乡提高住房公积金租房提取额度 已婚缴存职工家庭每月最高1600元