阻塞IO与非阻塞IO

阻塞IO:操作系统等数据,只发生了一次调用,最大问题:cpu被耽搁了

非阻塞IO:问题:1、发生多次系统调用     2、数据不及时

IO multiplexing model io多路复用,多一个系统调用,但可以建立多链接

 

#########################################blocking IO
# import socket
#
# sk=socket.socket()
#
# sk.bind(("127.0.0.1",8080))
#
# sk.listen(5)
#
# while 1:
#     conn,addr=sk.accept()
#
#     while 1:
#         conn.send("hello client".encode("utf8"))
#         data=conn.recv(1024)
#         print(data.decode("utf8"))########################################################nonblocking IO# import time
# import socket
# sk = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# sk.bind(('127.0.0.1',6667))
# sk.listen(5)
# sk.setblocking(False)
# print ('waiting client connection .......')
# while True:
#     try:
#
#         connection,address = sk.accept()   # 进程主动轮询
#         print("+++",address)
#         client_messge = connection.recv(1024)
#         print(str(client_messge,'utf8'))
#         connection.close()
#     except Exception as e:
#         print (e)
#         time.sleep(4)########################################################io多路复用# import socket
# import select
# sk=socket.socket()
# sk.bind(("127.0.0.1",9904))
# sk.listen(5)
# inp=[sk,]
# while True:
#
#     r,w,e=select.select(inp,[],[],5) #[sk,conn]
#
#     for i in r:#[sk,]
#         conn,add=i.accept()
#         print(conn)
#         print("hello")
#         inp.append(conn)
#     print('>>>>>>')
View Code

 

 

 

转载于:https://www.cnblogs.com/jintian/p/11026780.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/350306.shtml

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

相关文章

matlab的输出(命令窗口、fprint函数、disp函数)

命令窗口直接输出,MATLAB的默认格式是精确到小数点后4位。如果一个数太大或太小,那么将会以科学记数法的形式显示。比如: format stytle 改变默认输出格式要用到format命令,可根据下表改变数据的输出格式 显示数值格式 Stytle …

g2 折线图点与点之间直线_科学网—ggplot2实现散点折线图 - 肖斌的博文

准备的数据:第一列是时间,第二列是样本,第三列是具体数值。横轴标为时间,纵坐标为具体数值,图中不同颜色展示不同样本。具体的代码:library(ggplot2)png("./xyz.png")(保存成png)upsups$date pde…

matlab 字符串处理

% 字符串处理 a a;bb b;ccccc;m % 获取字符串长度length(a) % 连接两个字符串,每个字符串最右边的空格被裁切 dstrcat(a,c) length(d) % 连接多行字符串,每行长度可不等,自动把非最长字符串最右边补空格 % 使与最长字符串相等,会忽略空字符串 est…

【c#基础】泛型

1:减少代码的选项可以是用Object类,也可以使用泛型 但是Object类进行类型传递不是类型安全的。泛型类使用泛型类型保证了类型安全。 泛型类 泛型方法 泛型接口、结构、委托 泛型优点: 1:性能 装箱和拆箱很容易使用,但性能损失比较…

nacos怎么修改服务分组_nacos服务注册如何配置分组?

同问,度娘一番,没找到答案,最终看的代码,大概知道怎么回事了。这个是下面引用源码的版本org.springframework.cloudspring-cloud-starter-alibaba-nacos-discoverycom.alibaba.nacosnacos-client0.2.2.RELEASEcom.alibaba.nacosna…

使用brew,cask和jenv在MacOSX上设置多个Java JRE / JDK

昨天在Java9的Jigsaw HackTheTower事件中,我意识到我需要加强我的游戏并改善我现有的机制,以在我的机器上维护几个不同的JDK。 我曾经手动下载jdk,或使用brew cask安装它们,我会在〜/ bash_profile上设置bash alias来在不同的 JA…

Codeforces - 102222C - Caesar Cipher

https://codeforc.es/gym/102222/my 好像在哪里见过这个东西&#xff1f;字符的左右移还是小心&#xff0c;注意在mod26范围内。 #include<bits/stdc.h> using namespace std; typedef long long ll;inline int read() {int x0;int f0;char c;do {cgetchar();if(c-)f1;} …

python os.path.exists判断文件或文件夹是否存在

import os#判断文件夹是否存在 dir os.path.exists(C:\\Users\\Desktop) print(dir:, dir)#判断文件是否存在 file os.path.exists(C:\\Users\\Desktop\\雍正王朝.txt) print(file:, file)运行结果 显示该文件及文件夹都存在

vue进入页面执行的钩子函数_解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题...

项目需求&#xff1a;图片加载时&#xff0c;当鼠标滚动至当前图片进行加载并加上上滑特效&#xff0c;实现这个效果需要对文档文档滚动位置和图片的当前位置进行比较。但是mounted 钩子函数执行时img图片并未加载出来也就是占位为空&#xff0c;导致图片位置计算出问题。解决这…

微服务(Microservices)和服务网格(Service Mesh)架构概念整理

微服务&#xff08;Microservices&#xff09; 在过去的 2016 年和 2017 年&#xff0c;微服务技术迅猛普及&#xff0c;和容器技术一起成为这两年中最吸引眼球的技术热点。而以 Spring Cloud 为代表的传统侵入式开发框架&#xff0c;占据着微服务市场的主流地位。 微服务&…

python os.listdir列举当前文件夹下所有文件及文件夹

import ospath C:\\Users\\Desktop\\test str os.listdir(path) print(str)运行结果&#xff1a;1、2为文件夹&#xff0c;123.txt为文件

正则查找倒数第二个符合条件的字符串_EXCEL正则表达式的基础语法

正则表达式的基本概念及用途了解之后&#xff0c;我们就来学习下具体的语法&#xff0c;先以一个简单的例子来讲解。基础语法&#xff1a;比如&#xff0c;A1单元格中有一串字符&#xff1a;aabbccddaabbcc&#xff0c;我们要把其中的a找到&#xff0c;然后替换成o。代码如下&a…

javafx css样式_使用CSS设置JavaFX饼图样式

javafx css样式渲染图表时&#xff0c; JavaFX默认提供某些颜色。 但是&#xff0c;在某些情况下&#xff0c;您想自定义这些颜色。 在此博客文章中&#xff0c;我将使用一个示例来更改JavaFX饼图的颜色&#xff0c;该示例打算在今天下午在2013年RMOUG培训日的演示中包括。一些…

java 异步操作

/** * 异步删除 * * param keys */ public void asycExecute(String keys) { ExecutorService executor Executors.newFixedThreadPool(1); CompletableFuture<String> future CompletableFuture.supplyAsync(new Supplier<String>() { Override public String g…

企业发文的红头文件_【红头文件写作格式】 公司红头文件格式范本

红头文件写作格式 一、红头文件的制作及标准进行页面设臵选择“文件”——“页面设臵”选择“页边距”附签&#xff0c;上&#xff1a;3.7厘米&#xff0c;下&#xff1a;3.5厘米&#xff0c;左&#xff1a;2.8厘米&#xff0c;右&#xff1a;2.6厘米。选择“版式”附签&#x…

matlab 城市间最短路径

clear all;clc;close all; %最短路径代码&#xff0c;输入&#xff1a;起点空格终点&#xff08;大写字母&#xff0c;如:A F&#xff09; % 输出最短路径值d 最短路径路线 % W为一个对称矩阵&#xff0c;如果不能直接到达距离为inf % 本例中A到B距离为12; A到F距离为0; B到…

docker开放的端口_关于docker自动开放端口解决方案

在docker中只要有容器映射了端口docker就会自动加iptablesiptables -L -nChain DOCKER (8 references)target prot opt source destinationACCEPT tcp -- 0.0.0.0/0 172.18.0.2 tcp dpt:2379ACCEPT tcp -- 0.0.0.0/0 172.18.0.5 tcp dpt:8888ACCEPT udp -- 0.0.0.0/0 172.18.0.…

即将举行的网络研讨会:调试生产中Java的5种最佳实践

您的团队是否花费超过10&#xff05;的时间在生产环境中调试Java&#xff1f; 将新代码部署到生产中是一项艰巨的任务。 在您的本地环境中起作用的东西在生产中的作用并不相同&#xff0c;您可以通过用户来了解。 不理想吧&#xff1f; 生产中的调试是一个关键要素&#xff0…

保存网页上没有 另存为图片 选项的方法

找到要存储的图片&#xff0c;并点击右键查看源代码 找到图片地址&#xff0c;复制到新的浏览器里打开 将图片 另存为 转载于:https://www.cnblogs.com/lszw/p/11040047.html

BP算法,用梯度下降法更新权值W与偏置项b

Bp算法实际是输出的误差函数对每一个参数求导&#xff0c;输出层可以直接求出&#xff0c;非输出层则有链式法则求导。这里以上图5层神经网络为例进行说明。 一 符号说明&#xff1a; 1)这里使用激活函数为sigmoid函数&#xff1a; &#xff08;1&#xff09; 对sigmoid函数…