buffering相关内容

无缓冲的 urllib2.urlopen

我有用于 Web 界面的客户端,用于长时间运行的进程.我希望该过程的输出显示出来.与 urllib.urlopen() 配合使用效果很好,但它没有 timeout 参数.另一方面,使用 urllib2.urlopen() 输出被缓冲.有没有简单的方法可以禁用该缓冲区? 解决方案 我想到的一个快速技巧是使用 urllib.urlopen() 和 threading.Timer() 模拟超时. ..
发布时间:2021-09-15 18:34:25 Python

C stdio 输入流如何实现行缓冲?

我知道完全缓冲的输入可以通过为可能大于应用程序所需的数据块发出单个 read 系统调用来实现.但我不明白如何在没有内核支持的情况下将行缓冲应用于输入.我想人们必须读取一个数据块然后查找换行符,但如果是这样,那么与完全缓冲有什么区别? 更具体地说: 假设我有一个输入流 FILE* in.关于 stdio 库如何从操作系统检索字节以填充其缓冲区,以下内容之间有什么区别吗? 行缓冲:s ..
发布时间:2021-09-14 19:44:38 服务器开发

将 C 程序设置为行缓冲区将不起作用

我试图强制我的 C 程序行缓冲(stdout 将被 java 程序捕获),但它似乎总是完全缓冲.下面是一些示例代码: #include #include int main(){字符 c;setvbuf(stdout, NULL, _IOLBF, BUFSIZ);printf("你好世界\n");c = getchar();printf("得到字符:%c\n", c);} 如果我指定 _IOLB ..
发布时间:2021-08-30 19:09:48 其他开发

为什么 printf() 在 sleep() 之前不打印任何内容?

我正在通过 Kernighan 和 Ritchie 的书学习 C;我在第四章(函数的东西)的基础知识.前几天我开始对 sleep() 函数感到好奇,所以试着像这样使用它: #include #include int main(void){printf("我喜欢牛.");睡眠(5);返回0;} 问题在于程序的输出,看起来它先执行sleep(),然后执行printf(),换句话说,它等待五个秒,然 ..
发布时间:2021-08-30 19:06:48 其他开发

如何使任何 shell 命令的输出无缓冲?

有没有办法在没有输出缓冲的情况下运行 shell 命令? 例如,hexdump 文件 |./my_script 只会将输入从 hexdump 以缓冲块的形式传递给 my_script,而不是逐行传递. 实际上我想知道如何使任何命令无缓冲的通用解决方案? 解决方案 AFAIK,如果没有丑陋的黑客,你就无法做到.写入管道(或从中读取)会自动打开完整缓冲,您对此无能为力:-(.“行缓 ..
发布时间:2021-08-30 19:06:32 其他开发

Perl:避免从标准输入中贪婪地阅读?

考虑以下 perl 脚本 (read.pl): my $line = ;打印“Perl 读取:$line";print "这就是 cat 得到的:", `cat -`; 如果这个脚本是从命令行执行的,它会得到第一行输入,而cat得到其他一切,直到输入结束(^D是按下). 但是,当输入是从另一个进程通过管道传输或从文件中读取时,情况就不同了: $ echo "foo\nbar" |./r ..
发布时间:2021-08-30 19:04:19 其他开发

为 sys.stdin 设置较小的缓冲区大小?

我正在使用以下 bash 命令模式运行 memcached: memcached -vv 2>&1 |tee memkeywatch2010098.log 2>&1 |~/bin/memtracer.py |tee memkeywatchCounts20100908.log 尝试在整个平台范围内追踪无法匹配的密钥集. memtracer 脚本如下所示,可以正常工作,但有一个小问题.观察中 ..
发布时间:2021-06-25 19:12:30 Python

如何正确实现三重缓冲?

我正在尝试模拟视频卡(生产者线程)和监视器(消费者线程),以了解在教育方面发生了什么.所以这是技术任务说明: 生产者线程以 1000 fps 的速度生成帧像素数据.消费者线程以 60 fps 的速度运行,并且每一帧都必须至少有 1/60 秒的时间访问最后生成的帧.为简单起见,每个帧都由一些 int* 表示. 所以我的解决方案是我有 2 个指针数组:一个用于生产者,一个用于消费者.再加上 ..

Perl,禁用缓冲输入

有一个文件: :~$ cat fff质量自卫队质量知乎 有一个脚本: :~$ cat 1.pl#!/usr/bin/perl打印 该命令按预期工作: :~$ cat fff |perl -e 'system("./1.pl")'质量自卫队质量知乎 但是这个命令不会按预期工作:第一个 读取所有数据,而不是一行.如何禁用 的缓冲? :~$ c ..
发布时间:2021-06-15 20:07:21 其他开发

使用缓冲在 C++ 中逐行读取巨大的文本文件

我需要在 C++ 中逐行从光盘读取巨大的 35G 文件.目前我是这样做的: ifstream infile("myfile.txt");字符串线;而(真){if (!getline(infile, line)) 中断;long linepos = infile.tellg();过程(线,linepos);} 但它给了我大约 2MB/秒的性能,尽管文件管理器以 100Mb/s 的速度复制文件.我 ..
发布时间:2021-06-15 19:30:43 C/C++开发

加快读取压缩的bz2文件("rb"模式)的速度

我的BZ2文件超过10GB.我想在不将其解压缩到临时文件(大于50GB)的情况下进行读取. 使用此方法: import bz2,时间t0 = time.time()time.sleep(0.001)#避免/减0其中bz2.open("F:\ test.bz2",'rb')为f:对于我,我在枚举(f)中:如果我%100000 == 0:print('%i行/秒'%(i/(time.time ..
发布时间:2021-04-23 20:20:46 Python

C#中的StreamReader和缓冲区

我对StreamReader的缓冲区使用有疑问.此处: http://msdn.microsoft.com/en-us/library/system.io.streamreader.aspx 您可以看到: “从流中读取时,使用与流的内部缓冲区大小相同的缓冲区会更有效." 根据此网络日志,StreamReader的内部缓冲区大小为2k,因此我可以使用 Read()有效地读取一些kbs的文 ..
发布时间:2021-04-16 19:24:28 C#/.NET

在< audio>中停止音频缓冲标签

我目前正在使用HTML5音频播放器通过(移动)浏览器提供音频流(24/7广播流).在流中加载并播放它可以正常工作. 主要问题是HTML5 标记即使不处于活动状态也将继续下载(缓冲)内容.对于移动用户而言,这可能是一个主要问题,因为他们中的大多数人为数据使用付费.到目前为止,我还没有找到一个可以在整个浏览器上正常运行的体面解决方案来防止这种情况发生. 我到目前为止尝试过 ..
发布时间:2021-04-12 19:47:16 前端开发

什么是IO流缓冲?

我无法找到IO流缓冲的基本概念及其含义. 任何教程和链接都将有所帮助. 解决方案 缓冲是处理输入和输出的软件的基本组成部分.由于硬件和软件以不同的速度运行,因此缓冲区保留了软件接口和硬件接口之间的数据. 产生数据的组件可以将其放入缓冲区,然后通过将收集的数据发送到下一个组件来“清除"缓冲区.同样,其他组件可能正在“等待缓冲区",直到可以输入完整的数据或足以有效处理的足够数据为止. ..
发布时间:2021-02-08 19:12:40 C/C++开发

无需缓冲即可很好地流式传输文件,但在缓冲时可部分流式传输

我编写了一个代码,该代码将字节从另一台服务器流到我的服务器,然后将这些内容写入本地文件.当我使用不缓冲数据的read()方法时,它可以正常工作.但是,当我使用缓冲(意图是我相信大文件的流传输会更快)时,我使用read(byte [])方法,并且在流传输时仅获取部分数据.我正在发布代码.谁能指出我所缺少的错误或概念. 以下代码可以正常工作. (无流式播放) private voi ..
发布时间:2020-11-25 20:13:31 Java开发

如何禁用fread()中的缓冲?

我正在使用fread()和fwrite()读写套接字.我相信这些功能用于缓冲输入和输出.有什么方法可以在仍然使用这些功能的同时禁用缓冲吗? 编辑: 我正在构建一个远程桌面应用程序,并且远程客户端似乎“滞后于服务器",我不知道可能是什么原因...我认为可能是由于缓冲读取和写..但使用setvbuf无效. “滞后"是指远程桌面客户端在服务器后面运行几秒钟.在大约15到20秒的延迟后, ..
发布时间:2020-11-10 21:58:31 其他开发