文章目录:

    • 一、多线程方式
      • (一)实现多线程的处理
      • (二)代码逻辑
      • (三) 演示:
      • (四)多线程缺陷:
      • (五) 和I/O复用的区别
    • 二、多进程方式
      • (一)和多线程实现方式的区别
      • (二)难想到的点
      • (三)代码
      • (四)运行

I/O复用虽然可以同时监听多个文件描述符,解决多个客户端请求处理数据,但它本身是阻塞的,并且当多个文件描述符同时就绪时,如果不采取额外措施,程序就只能按顺序处理其中的每一个文件描述符,这使得服务器看起来好像是串行工作的。如取快递,所有物品在这放着监视着,当有人来取给他取,取的人多了就要排队

如果要提高并发处理的能力,需要配合使 用多线程和多进程等方法。我们实现并发服务器,就是利用多进程/多线程来实现,就相当于取快递的人排的队太长了,我多雇几个人,来一个人一个人取,两个人派两人给他取。

注意:本博文实现多线程、进程的工作方式,主要为了说明多线程、进程的使用方式,并没有使用I/O复用,即没有实现:I/O复用+多线/进程。

一、多线程方式

(一)实现多线程的处理

下图是多线程处理逻辑图:
在这里插入图片描述
它的主要逻辑就是:一个主进程负责监听文件描述符,如果有客户端描述符到达后,就创建一个线程去处理它,再来一个客户端就再去创建线程处理。

(二)代码逻辑

主要代码分为两部分:

  • 实现线程函数,即实现处理客户端的业务,收发数据。
  • 主函数负责建立连接,创建线程,调用线程函数。
void*  work_thread(void* arg)//线程函数
{while(1){recv()send()}close(c)//关闭客户端文件描述符
}
int main()//主函数
{sockfd()bind()listen()while(1){   accept()pthread_create(work)//创建线程}
}

需要注意:

  • 线程函数的格式:

    int  res =pthread_create(&id,NULL,work_thread,(void)\*c)。
    

    work_thread不是函数调用,而是线程处理接口,(void*)是系统类型指定,所以需要将客户端套接字c强转,故线程函数格式是void*返回值,void*参数,将客户端的文件描述符传入。

  1. Work_thread(void *arg)处理线程的函数:把文件描述符c通过值传递传进来int c=(int)arg,在线程函数里进行循环进行数据的处理,数据交互完成后关闭连接,所以是一个长连接
  2. 文件描述符可以传递过来,也可以在线程处理函数里面关闭。因为线程可以共享进程的文件描述符

(三) 演示:

我们对代码进行编译,因为包含线程,所以编译时要连接库: gcc -o thread thread.c -lpthread

# include<stdio.h>
# include<stdlib.h>
# include<string.h>
# include<unistd.h>
# include<assert.h># include<pthread.h>
# include<sys/types.h>
# include<sys/socket.h>
# include<arpa/inet.h>
# include<netinet/in.h>int InitSocket()
{int sockfd=socket(AF_INET,SOCK_STREAM,0);if(sockfd==1) return -1;struct sockaddr_in ser;memset(&ser,0,sizeof(ser));ser.sin_family=AF_INET;ser.sin_port=htons(6000);ser.sin_addr.s_addr=inet_addr("127.0.0.1");int res=bind(sockfd,(struct sockaddr*)&ser,sizeof(ser));if(res==-1) return -1;res=listen(sockfd,5);if(res==-1) return -1;return sockfd;
}
//处理数据的线程
void*  work_thread(void* arg)
{int c=(int)arg;while(1){char buff[128]={0};int n=recv(c,buff,127,0);if(n<=0){break;}printf("%d:%s\n",c,buff);send(c,"ok",2,0);}close(c);//一定要记得关闭,不然资源会浪费
}
int main()
{int sockfd=InitSocket();assert(sockfd!=-1);while(1){struct sockaddr_in cli;socklen_t len=sizeof(cli);int c=accept(sockfd,(struct sockaddr*)&cli,&len);if(c<0){continue;}pthread_t id;int res=pthread_create(&id,NULL,work_thread,(void*)c);//线程接口,最后一个元素为void*类型,所以要强转c}close(sockfd);
}

运行结果:

在这里插入图片描述

(四)多线程缺陷:

如果我们有100个客户端,那么就要创建100多个函数线程,但是每个服务器的线程都有上限,并消耗大量的资源。我们每次的线程函数处理的数据也不是很多,所以资源浪费过多,系统反应时间会越来越慢。

(五) 和I/O复用的区别

仔细观察两个的运行结果,我们发现这个和使用I/O复用的效果一样,但一定是两种不同的机制,所以不要搞混:

  • I/O复用是至始至终都只有一个进程,只是将所有的文件描述符统一监听,当某个文件描述上有事件发生时,还是这个进程去处理它。
  • 多线程是一个进程监听连接文件描述符,当有客户端描述符到达后,创建一个线程去处理它。
  • 把它们结合起来,就是 在epoll_wait()发现有事件发生时,在处理数据时创建线程即可。

二、多进程方式

(一)和多线程实现方式的区别

我们现在来实现多进程的处理:我们和线程处理的大体框架不变,所以在线程的基础上改,先拷贝一份:

cp thread.c  process.c。

主要区别:

  • 不创建线程,使用fork()创建进程
    pid_t pis=fork()。
    
  • 如果pid==0表示是子进程,子进程就去调用处理数据的函数,然后 exit(0)关闭子进程。
  • pid!=0,是父进程,父子进程共享fork()之前打开的文件描述符,表示创建的客户端文件描述符现在计数为2,故父进程只用执行关闭描述符即可。
  • 处理数据的函数work_process(int c)。
  • 文件描述符子进程中关闭一次,父进程中关闭一次
  • 信号量来处理僵死进程

(二)难想到的点

1.为啥处理数据函数要关闭close(c),父进程也要

答:因为fork()在创建子进程中,将文件描述符复制了一次,将文件描述次数++了一次,所以,所以父进程一个,子进程一个描述符,总共两个,要关两次。

2.关闭子进程时父进程还没有处理子进程的状态,所以会形成很多僵死进程。那么解决办法就是调用系统的wait()方法,那么引入信号量signal(SIGVHLD,sig_funaction);当子进程信息改变时就会产生SIGVHLD信号,然后就调用这个函数,这个函数里调用wait(NULL)即可。

(三)代码

客户端代码和select一样。

# include<stdio.h>
# include<stdlib.h>
# include<string.h>
# include<unistd.h>
# include<assert.h># include<pthread.h>
# include<sys/types.h>
# include<sys/socket.h>
# include<arpa/inet.h>
# include<netinet/in.h>
# include<signal.h>
int InitSocket()
{int sockfd=socket(AF_INET,SOCK_STREAM,0);if(sockfd==1) return -1;struct sockaddr_in ser;memset(&ser,0,sizeof(ser));ser.sin_family=AF_INET;ser.sin_port=htons(6000);ser.sin_addr.s_addr=inet_addr("127.0.0.1");int res=bind(sockfd,(struct sockaddr*)&ser,sizeof(ser));if(res==-1) return -1;res=listen(sockfd,5);if(res==-1) return -1;return sockfd;
}
//处理数据的进程
void work_proce(int c)
{//int c=(int)arg;while(1){char buff[128]={0};int n=recv(c,buff,127,0);if(n<=0){break;}printf("%d:%s\n",c,buff);send(c,"ok",2,0);}close(c);//一定要记得关闭,不然资源会浪费
}
void sig_funaction(int sign)
{wait(NULL);//处理将死进程
}
int main()
{signal(SIGCHLD,sig_funaction);//当子进程改变时就调用它int sockfd=InitSocket();assert(sockfd!=-1);while(1){struct sockaddr_in cli;socklen_t len=sizeof(cli);int c=accept(sockfd,(struct sockaddr*)&cli,&len);if(c<0){continue;}pid_t pid=fork();if(pid==0)// 子进程{work_proce(c);//处理数据exit(0);//关闭}else{close(c);//因为描述符计数了2次}}close(sockfd);
}

(四)运行

在这里插入图片描述
我们来解释一下,为啥打开了两个客户端但文件描述符都是4。

进程描述符序号:一个进程打开一个文件sys_open(),确定一个可用的文件描述符,它会从0开始,然后一个个找这个描述符是否被使用,使用了就继续走,没有被使用那就是它了。每个进程会默认打开三个文件描述符:0:标准输入,1:标准输出,2标准错误输出,所以accept()文件描述符最多从3开始。

我们代码中,在父进程的处理是关闭文件描述符,在子进程处理描述符时,它已经关闭当前描述符,等待新的连接了,新的连接又accept(),还是从4开始。画个图理解一下:
在这里插入图片描述
根据上图我们可以清楚的看到因为父进程每次把文件描述符给子进程后它都会断开和此描述符的连接,所以再次创建会从4开始。 这也给我们说明了,判断有几个客户端不可以只通过文件描述符来判断。

加油哦!🌩。

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

相关文章

  1. 青岛大学王卓老师数据结构——C++实现邻接表表示法创建无向图

    #include <iostream> using namespace std; #include <string>#define MVNum 100 //最大顶点数//顶点的节点结构 typedef struct VNode {string data; //顶点信息ArcNode *firstarc; //指向第一条依附该顶点的边的指针 }VNode, AdjList[MVNum]; //AdjList v;…...

    2024/4/16 13:14:21
  2. 配置环境的一些错误

    深度学习过程中遇到的一些错误 问题一:编译OpenCV时,make时出现:Makefile:160: recipe for target ‘all’ failed 解决:可能因为安装了anaconda,在cmake时使用指令: cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_SHA…...

    2024/4/27 21:29:53
  3. FreeRTOS学习笔记(3)---- 队列

    队列是为了任务与任务、任务与中断之间的通信而准备的,可以在任务与任务、任务与中断之间传递消息,队列中可以存储有限的、大小固定的数据项目。任务与任务、任务与中断之间要交流的数据保存在队列中,叫做队列项目。队列所能保存的最大数据项目数量叫做队列的长度,创建队列…...

    2024/4/24 14:26:10
  4. 网络流——最大流 dinic 算法模板 P3376 【模板】网络最大流

    dinic复杂度最坏为O(n^2 * m)先构造分层图。然后一次性找出多条增广路更新。重复上述步骤即可。#include <bits/stdc++.h> using namespace std; typedef long long ll; const int M = 5000+7; const int N = 200+7; int head[N],cnt=1; void init(){cnt=1,memset(head,0…...

    2024/4/18 1:17:55
  5. 一文带你玩转Git(含有常用命令和使用场景)

    一文带你玩转Git Git基本操作git的常见基本操作游走于远程仓库、本地仓库、暂存区、工作区.需要使用pull从远端拉取更新工作区数据,其过程可用fetch/clone命令(拉取)和checkout命令组合操作,效果类似。工作区的数据通过add操作将文件添加到暂存区,然后commit(提交)后提交到本…...

    2024/4/20 12:47:15
  6. c++实现判断回文串

    “回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。 #include<iostream> #include<string> using namespace std; bool panduan(string s){int len = s.length();for(int i=0;i<len/2;i++){if(s[i]==s[len-i-1]){}else{retu…...

    2024/4/28 0:41:31
  7. mybatis的加载机制和缓存

    mybatis的加载机制和缓存 1.mybatis中的延迟加载延迟加载:在真正使用数据时才发起查询,不用的时候不查询。按需加载(懒加载)立即加载:不管用不用,只要一调用方法,马上发起查询。在对应的四种表关系中:一对多,多对一,一对一,多对多一对多,多对多:通常情况下我们都是…...

    2024/4/28 1:35:31
  8. opencv-python的鼠标交互操作

    文章目录cv2.setMouseCallback(windowName, onMouse [, param])鼠标回调函数:onMouse(event, x, y, flags, param)示例 opencv的鼠标交互操作主要通过两个函数实现:第一个是cv2.setMouseCallback(windowName, onMouse [, param]) 第二个是setMouseCallback()的第二个参数,称…...

    2024/4/14 13:15:09
  9. JavaScript【WeakSet】类型学习

    1、元素只支持引用对象 2、弱引用:被引用时引用计数不会增加 引用的内容如果被回收了,WeakSet内部引也就不存在了。 var a = { name : 呵呵达}; var wset = new WeakSet(); wset.add(a); // wset 有内容 wset.has(a); // true a = null; wset.has(a); // false3、不支持迭代 …...

    2024/4/14 13:13:53
  10. 6行代码判断邮箱类型

    调用string的函数 代码如下string str = "1584968754@qq.com";string email_type;size_t res1 = str.find(@);size_t res2 = str.find(.);email_type = str.substr(res1+1, res2-res1-1);cout <<"邮箱类型:"<< email_type << "邮箱…...

    2024/4/14 13:14:54
  11. java.util.Arrays类

    1,概述 java.util.Arrays 此类包含用来操作数组的各种方法,比如排序和搜索等。其所有方法均为静态方法,调用起来非常简单。 2,操作数组的方法public static String toString(int[] a) :返回指定数组内容的字符串表示形式。 public static void sort(int[] a) :对指定的 i…...

    2024/4/20 15:52:24
  12. Let‘s Encrypt 申请免费的 Https 证书

    Let’s Encrypt 证书不仅是免费的,而且支持通配符证书,通配符证书指的是一个可以被多个子域名使用的公钥证书,多个子域名使用起来十分方便。申请和配置的流程都非常简单,虽然每次的有效期为 90 天,但可以通过脚本去更新证书,只要配置好了,几乎可以一劳永逸。 Certbot ce…...

    2024/4/27 21:25:55
  13. centos7中yum报database is locked 与yum进程被死锁

    当我们在centos中使用yum更新或下载数据时报:那么就是进程被占用了 解决办法: ps 查看占用进程关闭yum进程:rm -r /var/run/yum.pid 任然失败的话:ps -9 进程id 最严重的yum报:yum return cursor.execute(query) sqlite3.OperationalError: database is locke 那么有可能y…...

    2024/4/14 13:14:59
  14. 张量基础学习(四 张量代数运算——下)

    欢迎大家来到这一期张量分析的相关博客学习,本期继续接着上期博客后面深入理解张量的缩并,内积,双点积等等,先赞后看,养成习惯! Tensors learning一 . 张量的缩并二 . 张量的内积 双点积(1)内积与点积(2)双点积三 .特殊张量四. 张量的主轴 主值和主分量 一 . 张量的缩…...

    2024/4/14 13:14:13
  15. 【数据结构学习-线性表链式存储结构】数据结构基础学习笔记

    特点: 是用一组任意的存储单元存储线性表的数据元素,这组存储单元可以在内存中未被占用的任意位置。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200710142549867.png 转自小甲鱼 //________________________ 数据域:存储数据元素信息的域 指针域:存储直接后继位…...

    2024/4/20 1:20:23
  16. 神经网络剪枝 Neural Network Pruning

    根据点来拟合得到函数,存在过拟合现象函数公式中,存在比较小的项,去掉后 泛化能力更好,模型大小变小,算起来更快连接的权重小就剪掉,剪掉就是置0掩码生成:先求绝对值,然后告诉他要减掉图50%,得到返回值0.6,就是说小于0.6的都剪掉。...

    2024/4/25 8:48:30
  17. [蓝桥杯][2014年第五届真题]分糖果

    题目解题报告题意十分简单。第一次写完全模拟,是超时了。因为出现了许多浪费时间的操作。比如a[i] -= a[i]/2(就是a[i]/2)然后a[i-1] += a[i]/2。实际上直接先全部砍半(因为都是偶数),在a[i] += a[i+1]就可以。修正后未超时。AC代码#include <bits/stdc++.h> using…...

    2024/4/18 17:24:47
  18. ctf.show web3 文件包含+php伪协议+命令执行

    ctf.show web3 php伪协议+文件包含+命令执行 题目的提示: 一开始的页面: 看到这个语句,那就是文件包含了,先试下file:////etc/passwd,有反应 试下有没有flag.txt文件,好像没有这个文件 那现在我们利用php伪协议 php://input post提交命令,这里不知道为什么我用hackerbar…...

    2024/4/26 15:44:29
  19. (精华)2020年7月12日 vue 组件component的使用

    <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>定义组件的方式</title><script src=…...

    2024/4/14 13:15:30
  20. 01 javaScript组成、如何审查js代码

    1、javaScript组成包括:EcmaScript 、DOM、BOM(1)ECMA是(欧洲计算机制造商协会)它规定了js的语法标准。 (2)DOM是文档对象模型,规定了文档的显示结构,可以轻松地删除、添加和替换节点 (3)BOM是浏览器对象模型,就是浏览器自带的一些功能样式,如搜索框,设置,等学…...

    2024/4/26 6:07:52

最新文章

  1. GateWay具体的使用之全链路跟踪TraceId日志

    1.创建全局过滤器&#xff0c;在请求头上带入traceId参数&#xff0c;穿透到下游服务. package com.by.filter;import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.jwt.JWTValidator;…...

    2024/4/28 3:30:26
  2. 梯度消失和梯度爆炸的一些处理方法

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

    2024/3/20 10:50:27
  3. 【ARM 嵌入式 C 文件操作系列 20 -- 文件删除函数 remove 详细介绍】

    请阅读【嵌入式开发学习必备专栏 】 文章目录 文件删除函数 remove 文件删除函数 remove 在 C 语言中&#xff0c; 可以使用 remove 函数来删除一个文件&#xff0c;但在删除之前 可能想确认该文件是否存在。 可以使用 stat 函数来检查文件是否存在。 以下是如何实现这个功能…...

    2024/4/25 7:29:23
  4. C++最基本的线程管理(完整源码)

    初级代码游戏的专栏介绍与文章目录-CSDN博客 讲起编程理论天花乱坠&#xff0c;现实却跟山顶洞人一样。 目录 一、问题 二、跟踪线程创建 三、多线程的一般原则 四、相关技术点 4.1 CreateThread 4.2 CloseHandle 4.3 GetExitCodeThread 4.4 TerminateThread 一、问题…...

    2024/4/22 7:20:07
  5. 【外汇早评】美通胀数据走低,美元调整

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

    2024/4/26 18:09:39
  6. 【原油贵金属周评】原油多头拥挤,价格调整

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

    2024/4/28 3:28:32
  7. 【外汇周评】靓丽非农不及疲软通胀影响

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

    2024/4/26 23:05:52
  8. 【原油贵金属早评】库存继续增加,油价收跌

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

    2024/4/27 4:00:35
  9. 【外汇早评】日本央行会议纪要不改日元强势

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

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

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

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

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

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

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

    2024/4/27 9:01:45
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

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

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

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

    2024/4/25 18:39:16
  15. 【外汇早评】美伊僵持,风险情绪继续升温

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

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

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

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

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

    2024/4/28 1:22:35
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

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

    2024/4/25 18:39:14
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

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

    2024/4/26 23:04:58
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

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

    2024/4/27 23:24:42
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

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

    2024/4/25 18:39:00
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

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

    2024/4/26 19:46:12
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

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

    2024/4/27 11:43:08
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

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

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

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

    2022/11/19 21:17:18
  26. 错误使用 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
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

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

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

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

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

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

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

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

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

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

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

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

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,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
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    2022/11/19 21:16:58
  44. 如何在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