Libevent源码解读(三)

  • 事件主循环
    • 事件处理主循环
    • IO和Timer 事件的统一
    • IO和signal事件的统一
  • 集成信号处理
    • 集成策略 --- socket pair
    • 集成到事件主循环----通知event_base
    • evsignal_info结构体
    • 注册 注销signal事件
  • 集成定时器事件
    • 集成到事件主循环
    • Timer小根堆
  • 支持IO多路复用技术

事件主循环

根据系统提供的事件多路分发机制执行事件循环,堆已注册的就绪事件,调用注册事件的回调函数来处理事件

事件处理主循环

Libevent 的事件主循环主要是通过event_base_loop()函数完成的,其主要操作入下面的流程图,event_base_loop所做的就是持续执行下面的循环

在这里插入图片描述

IO和Timer 事件的统一

Libevent将信号事件和定时器事件都集成到了系统的IO的demultiplex机制中,首先将Timer事件的最小超时时间来设置系统IO的timeout时间:当系统IO返回时,在激活所有就绪的Timer事件就可以。这样就能将Timer事件完美融入系统的IO机制中。这是Reactor和Proactor模式的处理的经典方法
堆(小根堆)插入和删除的事件复杂度为LogN,N为堆中元素,二获取最小Key值为O(1)

IO和signal事件的统一

signal是异步事件的经典实例,如果当signal事件发生时,并不立即调用event的callback函数,而是设法通知系统IO机制,让其返回。然后在统一和IO事件以及Timer一起处理。
问题核心,当signal发生是如何通知系统的IO多路复用机制,比如pipe

总结:介绍了libevent是如何处理就绪的IO事件,定时器和信号事件

集成信号处理

主要分析signal集成到事件主循环的框架中

集成策略 — socket pair

可以实现上述在同一个文件描述符中进行读写的功能。该系统调用能创建一对已连接的UNIX族socket。在Linux中,完全可以把这一对socket当成pipe返回的文件描述符一样使用,唯一的区别就是这一对文件描述符中的任何一个都可读和可写,libevent使用的就是socket pair

int socketpair(int d, int type, int protocol, int sv[2]); 

socketpair创建逻辑
在这里插入图片描述

listener = socket(AF_INET, type, 0);if (listener < 0)return -1;memset(&listen_addr, 0, sizeof(listen_addr));listen_addr.sin_family = AF_INET;listen_addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);listen_addr.sin_port = 0;	/* kernel chooses port.	 */if (bind(listener, (struct sockaddr *) &listen_addr, sizeof (listen_addr))== -1)goto tidy_up_and_fail;if (listen(listener, 1) == -1)goto tidy_up_and_fail;connector = socket(AF_INET, type, 0);if (connector < 0)goto tidy_up_and_fail;memset(&connect_addr, 0, sizeof(connect_addr));/* We want to find out the port number to connect to.  */size = sizeof(connect_addr);if (getsockname(listener, (struct sockaddr *) &connect_addr, &size) == -1)goto tidy_up_and_fail;if (size != sizeof (connect_addr))goto abort_tidy_up_and_fail;if (connect(connector, (struct sockaddr *) &connect_addr,sizeof(connect_addr)) == -1)goto tidy_up_and_fail;size = sizeof(listen_addr);acceptor = accept(listener, (struct sockaddr *) &listen_addr, &size);if (acceptor < 0)goto tidy_up_and_fail;if (size != sizeof(listen_addr))goto abort_tidy_up_and_fail;/* Now check we are talking to ourself by matching port and host on thetwo sockets.	 */if (getsockname(connector, (struct sockaddr *) &connect_addr, &size) == -1)goto tidy_up_and_fail;if (size != sizeof (connect_addr)|| listen_addr.sin_family != connect_addr.sin_family|| listen_addr.sin_addr.s_addr != connect_addr.sin_addr.s_addr|| listen_addr.sin_port != connect_addr.sin_port)goto abort_tidy_up_and_fail;evutil_closesocket(listener);fd[0] = connector;fd[1] = acceptor;return 0;

集成到事件主循环----通知event_base

socketPair创建好了,可是libevent的主循环还是不知道signal是否发生了:为socket pair的读socket在libevent的event_base实例上注册一个persist的读事件
前面提到饿了Libevent会在事件主循环检查标记,来确定是否有触发的signal,如果有标记就处理。已epoll为例子,在epoll_dispatch()中

	res = epoll_wait(epollop->epfd, events, epollop->nevents, timeout);EVBASE_ACQUIRE_LOCK(base, th_base_lock);if (res == -1) {if (errno != EINTR) {event_warn("epoll_wait");return (-1);}evsignal_process(base);//处理信号事件return (0);}else if(base->sig.evsignal_caught)evsignal_process(base);//处理信号事件

在这里插入图片描述

evsignal_info结构体

/* Data structure for the default signal-handling implementation in signal.c*/
struct evsig_info {/* Event watching ev_signal_pair[1] */struct event ev_signal;//为socketpair的读socket向event_base注册读事件时使用的event结构体/* Socketpair used to send notifications from the signal handler */evutil_socket_t ev_signal_pair[2];/* True iff we've added the ev_signal event yet. */int ev_signal_added;/* Count of the number of signals we're currently watching. */int ev_n_signals_added;/* Array of previous signal handler objects before Libevent started* messing with them.  Used to restore old signal handlers. */
#ifdef EVENT__HAVE_SIGACTIONstruct sigaction **sh_old;
#elseev_sighandler_t **sh_old;
#endif/* Size of sh_old. */int sh_old_max;
};

注册 注销signal事件

注册signal事件是evsignal_add(struct event *ev)函数完成的,libevent对所有信号注册同一个处理函数evsignal_handler(),该函数将下一段介绍,注册过程如下:

static void __cdecl
evsig_handler(int sig)
{int save_errno = errno;
#ifdef _WIN32int socket_errno = EVUTIL_SOCKET_ERROR();
#endifev_uint8_t msg;if (evsig_base == NULL) {event_warnx("%s: received signal %d, but have no base configured",__func__, sig);return;}//记录信号sig的触发次数,并且设置event触发标记//evsignal_base->sig.evsigcaught[sig]++;//evsignal_base->sig.evsig_caught = 1;#ifndef EVENT__HAVE_SIGACTIONsignal(sig, evsig_handler); //重新注册信号
#endif/* Wake up our notification mechanism */msg = sig;
#ifdef _WIN32send(evsig_base_fd, (char*)&msg, 1, 0);
#else{int r = write(evsig_base_fd, (char*)&msg, 1);(void)r; /* Suppress 'unused return value' and 'unused var' */}
#endiferrno = save_errno;
#ifdef _WIN32EVUTIL_SET_SOCKET_ERROR(socket_errno);
#endif
}

总结:主要介绍了libevent对signal事件的具体处理框架,包括事件的注册,删除和socket pair通知机制,以及是如何将signal事件集成到事件主循环中

集成定时器事件

相较于signal事件来说,Timer与IO的集成较为直观和简单

集成到事件主循环

由于IO多路复用都允许一个最大等待时间(最大超时时间)timeout,即使事件没有发生都能够保证timeout事件内放回。因此根据小根堆的最小超时时间来设置超时时间:系统IO放回后,在激活所有的就绪的Timer时间

具体代码在源文件event.c的event_base_loop()中

	if (!N_ACTIVE_CALLBACKS(base) && !(flags & EVLOOP_NONBLOCK)) {//根据Timer事件计算evsel->dispatch的最大等待时间timeout_next(base, &tv_p);} else {/** if we have active events, we just poll new events* without waiting.*/evutil_timerclear(&tv);}//调用select() or epoll_wait()等待IO事件res = evsel->dispatch(base, tv_p);//处理超时事件,将超时事件插入到激活链表中timeout_process(base);

Timer小根堆

Libevent使用堆来管理Timer事件,其key值就是事件超时时间,源代码位于min_heap.h中

支持IO多路复用技术

Libevent的核心是事件驱动和同步非阻塞。为了达到这一目标。必须使用系统提供的IO多路复用

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. LeetCode题解(1480):一维数组的动态和(Python)

    题目:原题链接(简单)解法 时间复杂度 空间复杂度 执行用时Ans 1 (Python) O(N)O(N)O(N) O(1)O(1)O(1) 36ms (90.54%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一: def runn…...

    2024/4/1 1:33:30
  2. VNC桌面无法打开终端:Failed to execute default Terminal Emulator. Input/output error.

    系统:Ubuntu18.04通过VNC远程连接图形桌面,发现无法打开终端,并且报错:Failed to execute default Terminal Emulator. Input/output error.解决办法:1)依次打开Applications--Settings--Settings Manager.2)点击Preferred Applications3)点击Utilities选项,选择Xfce …...

    2024/5/4 3:05:41
  3. Vue 插槽(老版本)

    以下皆是老版本 1.插槽的基本使用 组件插槽的目的是为了让我们封装的组件更加具有扩展性 余留性空间匿名插槽<div id="app"><cpn></cpn><cpn><span>span本人</span></cpn>//标签中间写的是插槽内的内容 老版本<cpn>…...

    2024/5/4 7:42:24
  4. 冲量网络 | 同态加密

    当我们进行在线购买、在线上传或云计算时,都需要将输入或上传的内容进行上传或传输。加密就是将消息或原始信息,用数学方法打乱,然后将其保存或传递给另一方,另一方将使用另一种数学方法对信息进行解密并读取它。加密可以增加数据的安全性,因为只有我们授权的人可以读取消…...

    2024/4/16 9:01:52
  5. 干货分享|Google Chrome Helper占用过高CPU解决办法

    问题概述在MacOS下,Chrome还是很受欢迎的,但是经常会导致CPU占用过高,比如页面包含Flash,风扇就会呼呼地转。通常来说Chrome如果占用过高的内存,这并不是什么问题,毕竟Chrome的性能以及易用性是建立在占用很多内存的基础上的。但是无论什么程序,持续的占用超过80%的cpu,…...

    2024/4/1 1:33:22
  6. Adobe Premiere Pro运行缓慢时,我们该怎么办呢?

    如果您急于找出Premiere Pro运行缓慢的原因,通常可以通过四种解决方案最大程度地提高速度。以上问题我们来一起讨论。 播放延迟问题可能是Premiere Pro用户最常抱怨的地方。我在这里整理了一份解决方案列表,如果Premiere Pro出现播放延迟问题,可以尝试这些解决方案。重要的是…...

    2024/5/4 2:53:21
  7. DataX Transformer

    Transformer定义在数据同步、传输过程中,存在用户对于数据传输进行特殊定制化的需求场景,包括裁剪列、转换列等工作,可以借助ETL的T过程实现(Transformer)。DataX包含了完成的E(Extract)、T(Transformer)、L(Load)支持。运行模型UDF手册dx_substr 参数:3个第一个参数:字段…...

    2024/4/16 9:02:02
  8. 算法——最短路径应用

    材料整理完毕后,余先生被要求立即分发给B、C、D、E市。由于流行病,所有的材料都必须通过公路运输,许多城市都是单向的。例如,城市A单向进入(到达)城市E意味着,我们可以从城市A到城市E,而不经过其他城市,但我们不能以同样的方式返回。在分配之前,于先生分析了各个城市…...

    2024/4/16 9:01:57
  9. 次世代3D游戏究竟有什么不同,看人物建模与场景搭建,第一眼就有答案!

    次世代3A大作的特点,玩家的追求就是次世代游戏的要求 对于广大的游戏玩家来说,对游戏的分类多是以玩法,将其分为RPG游戏、FPS游戏、RTS游戏等类型。但我们还可以制作技术将其以时代划分,而"次世代游戏"便是目前技术上最先进的游戏。其实对于玩家来说,次世代游戏…...

    2024/5/3 23:50:54
  10. Shope新手要不要选无货源模式?做跨境电商应该注意些什么?新手必看

    近年来随着电商的发展给人们的生活带来很大的方便,让我们足不出户在家轻松够物,这也给一些商家带来商机做起了线上营销的生意。随着国电商的饱和很多商家把目光转向了跨境电商这个新兴的电商行业,但是有很多新人还不懂shopee的无货源模式如何操作,做跨境电商应该注意些什么…...

    2024/4/22 10:59:41
  11. tocmat免安装版启动闪退问题

    tomcat版本:apache-tomcat-9.0.33-windows-x64 Apache tomcat官方下载链接:https://tomcat.apache.org/download-90.cgi 下载后,解压.zip,出现双击startup.bat和tomcat9.exe都是闪退 点击右键编辑startup.bat和shutdown.bat,在最开始的地方添加下面两行: SET JAVA_HOME=C…...

    2024/5/4 4:49:19
  12. 海康摄像头---以RTSP为基础开发准备工作

    首先,先把摄像机通上电,插上局域网可以访问的网线,按下列步骤尝试摄像头是否可用:1. 打开IE浏览器,输入默认地址192.168.1.64,填好三个问题,答案随便输,建议都输入123456,方便记忆 2. 建议修改ip为固定地址,端口视情况修改,一般默认554和8000,不需要改 3. 如果采用…...

    2024/4/16 9:01:42
  13. 第八节课

    LinearLayout和RelativeLayout 1.LinearLayout 线性布局(LinearLayout)主要以水平或垂直方式来显示界面中的控件。当控件水平排列时,显示顺序依次为从左到右,当控件垂直排列时,显示顺序依次为从上到下。 通过android:orientation属性指定了排列方向是vertical,控件就会在…...

    2024/4/16 9:02:28
  14. CSS伪选择器(CSS中:和::)

    一个冒号是伪类,两个冒号是伪元素伪类可以独立于文档的元素来分配样式,且可以分配给任何元素,逻辑上和功能上类类似,但是其是预定义的、不存在于文档树中且表达方式也不同,所以叫伪类。伪元素所控制的内容和一个元素控制的内容一样,但是伪元素不存在于文档树中,不是真正…...

    2024/4/16 9:02:43
  15. html学习总结

    html 标题标签 h1-h6 分六个等级 <h1> 标题标签 </h1>段落标签 p <p> 段落 标签</p>换行标签 <br /> 水平线标签 <hr />图像标签 img 属性 属性值 描述 src url 图像路径 alt 文本 …...

    2024/4/16 9:02:28
  16. [SunnyLand从0到1]--开端

    [SunnyLand从0到1]--开端个人履历TileMap的应用让我们开始吧利用SpriteEditor切割复合图片将图片使用TileMap添加到场景 个人履历 注册csdn有一段时间了,期间更换了手机号,所以重新注册了一次。那是什么时候呢?大概是从大学二年级开始,但当时并非是因为unity而结识了csdn,…...

    2024/5/4 6:07:36
  17. 二叉查找树即Binary Search Tree的查找和插入

    我们简单讨论了 BST 的基本特性和操作。本章我们主要讨论 BST 中的两个基本操作 Search、Insertion。1. Search a key在 BST 中查找指定的 key,我们先把要查找的 key 和 root 节点比较,如果相等,则返回 root,否则如果 key 大于 root,那么我们递归的在右子树中查找,否则递…...

    2024/4/18 15:29:59
  18. 稀疏矩阵(稀疏数组)的java代码实现(二维数组转换为稀疏数组和稀疏数组解析为二维数组)

    实现代码如下 public class SparseArray {/*** 测试* @param args*/public static void main(String[] args) {//数组初始化int[][] array = new int[8][8];for(int i=0;i<array.length;i++) {for(int j=0;j<array[0].length;j++) {array[i][j]=0;}}//添加非0数据array[1…...

    2024/4/29 2:17:52
  19. LinearLayout和RelativeLayout

    1.LinearLayout 线性布局(LinearLayout)主要以水平或垂直方式来显示界面中的控件。当控件水平排列时,显示顺序依次为从左到右,当控件垂直排列时,显示顺序依次为从上到下。 通过android:orientation属性指定了排列方向是vertical,控件就会在垂直方向上排列了;如果指定的是…...

    2024/4/18 21:01:03
  20. matlab不显示stem的点

    下面展示一些 内联代码片。 // A code block 不显示stem的点// An highlighted block stem(x,y,Marker,none)...

    2024/4/16 9:02:33

最新文章

  1. bottom-up-attention.pytorch

    环境 torch1.5cu 101cp38 on 2080ti # clone the repository inclduing Detectron2(be792b9) $ git clone --recursive https://github.com/MILVLG/bottom-up-attention.pytorch$ cd detectron2 $ pip install -e . $ cd .. detectron2直接克隆有问题&#xff0c;需要把det…...

    2024/5/4 9:37:44
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. C# Solidworks二次开发:六种配合方式以及注意事项API详解

    今天要写的文章是关于配合的一些API介绍。 如果大家还不知道创建配合的API用的是哪个&#xff0c;可以看一下我之前写的文章&#xff1a;C# Solidworks二次开发&#xff1a;创建距离配合以及移动组件API详解_solidworks transform2-CSDN博客 &#xff08;1&#xff09;今天要…...

    2024/5/3 11:49:19
  4. Chatgpt掘金之旅—有爱AI商业实战篇(一)

    演示站点&#xff1a; https://ai.uaai.cn 对话模块 官方论坛&#xff1a; www.jingyuai.com 京娱AI 一、前言&#xff1a; 成为一名商业作者是一个蕴含着无限可能的职业选择。在当下数字化的时代&#xff0c;作家们有着众多的平台可以展示和推广自己的作品。无论您是对写书、…...

    2024/4/30 22:51:16
  5. 堆排序-C语言

    算法思想&#xff1a; 建立一个大根堆;&#xff08;将一棵普通的树转化为大根堆&#xff09; 每次将根和待排序的最后一个交换,然后再调整,循环len-1次即可; 调整为大根堆的方法&#xff1a; 从最后一棵子树开始,从后往前调整; 每次调整,从上往下; 调整为大根堆; 堆调整的代…...

    2024/4/27 16:18:23
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/1 17:30:59
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/2 16:16:39
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/3 23:10:03
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/2 15:04:34
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/30 22:21:04
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/1 4:32:01
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/4 2:59:34
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/2 9:07:46
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57