14得票5回答
Win32:如何在不进行缓冲的情况下向文件写入数据?

我需要创建一个新的文件句柄,以便将对该句柄的任何写操作立即写入磁盘。 额外信息:该句柄将是子进程继承的STDOUT,因此我需要该进程的任何输出立即写入磁盘。 研究CreateFile文档,FILE_FLAG_WRITE_THROUGH标记看起来正是我需要的: “写操作不会通过任何中间缓存...

9得票2回答
PHP的ob_flush()导致错误

当我在我的本地主机(通过MAMP)调用PHP的ob_flush()函数时,我会收到以下错误提示: 注意:ob_flush() [ref.outcontrol]:未能刷新缓冲区。没有可供刷新的缓冲区。 我所能找到的唯一解决方案是在其前面加上@,但这似乎不是一个真正的解决方案。问题的原因是...

43得票10回答
当我们需要存储“最后n个项目”时,使用列表是否比向量更好?

有很多问题表明应该始终使用向量,但在我看来,对于需要存储“最后n个项目”的情况,列表可能更好。例如,假设我们需要存储最近看到的最后5项:迭代0:3,24,51,62,37, 然后在每次迭代中,索引为0的项被删除,并将新项添加到末尾: 迭代1:24,51,62,37,8 迭代 2:51,62,3...

10得票1回答
Python: 在线程中读取子进程输出

我有一个可执行文件,使用subprocess.Popen进行调用。然后,我打算使用一个线程从队列中读取它的值来通过stdin提供一些数据,并且该队列稍后将在另一个线程中填充。输出应该使用另一个线程中的stdout管道读取,并再次排序在队列中。 据我之前的研究所了解,使用带有队列的线程是一种良...

8得票4回答
Python中是否有类似COMMIT的功能来将内容写入文件?

我正在写一个文件,并且有一个进程运行了几天 - 一些内容在相对随机的时刻被写入文件。我的理解是,在执行file.close()之前,可能没有真正将任何内容保存到磁盘上。这是真的吗? 如果主进程尚未完成而系统崩溃怎么办?是否有一种方法可以每隔...比如说10分钟就进行提交(我自己调用提交 - ...

242得票15回答
一个用于膨胀/缩小(偏移、缓冲)多边形的算法。

我该如何“膨胀”一个多边形?也就是说,我想要做类似于这样的操作: 要求新的(膨胀的)多边形的边缘/顶点与旧的(原始的)多边形保持相同的常量距离(在示例图片上它们不是,因为这样就必须使用弧线来膨胀顶点,但现在先忘记这个 ;) )。 我正在寻找的数学术语实际上是向内/向外多边形偏移。bal...

35得票6回答
在Perl中,"select((select(s),$|=1)[0])"是什么意思?

我看过一些用Perl写的可怕代码,但是这个代码我理解不了:select((select(s),$|=1)[0]) 这是我们用于与服务器通信的某些网络代码,我认为它与缓冲有关(因为它设置了$|)。但我无法弄清楚为什么会有多个select调用或数组引用。有人能帮我解决吗?

9得票5回答
使用Core Graphics/Cocoa,你能否从后台线程绘制到位图上下文?

我正在使用CGBitmapContextCreate创建的CGContext绘制屏幕外的内容,然后稍后使用CGBitmapContextCreateImage从中生成CGImage并在drawRect中将其绘制到我的视图上(我还在其上绘制了一些其他东西 - 这是隔离不同变化和复杂性级别的练习)...

7得票3回答
C标准输入流中的行缓冲是如何实现的?

我知道完全缓冲可以通过发出单个 read 系统调用来实现,以获取一个可能比应用程序需要的数据块更大的数据块。但是我不明白如何在没有内核支持的情况下应用行缓冲到输入中。我想必须读取数据块,然后查找换行符,但如果是这样,那么与完全缓冲有什么区别? 更具体地说: 假设我有一个输入流 FIL...

11得票2回答
JPanel上活动绘图的顶部JTextFields,线程问题

有没有人尝试过使用Swing构建一个合适的多缓冲渲染环境,在此之上可以添加Swing用户界面元素? 在这种情况下,我在背景上绘制了一个动画的红色矩形。背景不需要每帧更新,因此我将其渲染到BufferedImage中,并仅重新绘制必要的部分以清除矩形的先前位置。请参见下面的完整代码,这扩展了@...