我用urllib2的是build_opener()创造一个OpenerDirector.我正在使用它OpenerDirector来获取慢速页面,因此它有一个很大的超时.
到现在为止还挺好.
但是,在另一个线程中,我被告知要中止下载 - 假设用户已经选择退出GUI中的程序.
有没有办法发出urllib2下载应该退出的信号?
Java是用于实时音频处理的C/C++的合适替代品吗?
我正在考虑一个带有~100(最大)音频轨道的应用程序,延迟线(30s @ 48khz),滤波(512点FIR?),以及同时在每个轨道上发生的其他DSP类型操作.
操作将以浮点转换和执行.
该系统可能是一个四核3GHz,4GB RAM,运行Ubuntu.
我看过有关Java的文章比过去快得多,接近C/C++,现在也有实时扩展.这是现实吗?它是否需要硬核编码和调整来实现C的%50-%100性能指标?
我真的在寻找一种感觉,如果这是可能的,并找到任何陷阱.
似乎只有少数JVM是Java实时规范(RTSJ)的实现.Sun/Oracle Java实时系统超过6000美元,IBM的实时WebSphere超过7000美元,因此许多Java开发人员可能永远没有机会使用其中任何一个.Oracle的JRockit似乎是一个免费的实时Java实现,具有可预测的,确定性的行为,虽然我不确定,因为他们的文档在营销语言上相当沉重.由于小型组织开发并具有较小的用户群,其他较小的实时JVM似乎存在风险.
哪些实时JVM更受欢迎?开发人员最常使用,信任和喜爱哪些?
我正在研究一个软实时事件处理系统.我希望尽可能减少代码中具有非确定性时序的调用次数.我需要构造一个由字符串,数字,时间戳和GUID组成的消息.大概std::vector的boost::variant的.
我一直想用alloca在过去类似性质的代码中.然而,当人们研究系统编程文献时,总是会对这个函数调用提出大量警告.就个人而言,我不能想到过去15年中没有虚拟内存的服务器类机器,而且我知道Windows堆栈一次增长一个虚拟内存页面,所以我假设Unices也是如此.这里没有砖墙(再也没有),堆栈就像堆一样可能耗尽空间,那么是什么给出了?为什么人们没有超过阿洛卡?我可以想到许多负责任地使用alloca的用例(字符串处理任何人?).
无论如何,我决定测试性能差异(见下文),并且alloca和malloc之间存在5倍的速度差异(测试捕获了我将如何使用alloca).那么,有变化吗?我们是否应该谨慎对待风并使用alloca(包裹在a中std::allocator)每当我们完全可以确定物体的使用寿命时?
我厌倦了生活在恐惧中!
编辑:
好吧有限制,对于Windows来说这是一个链接时间限制.对于Unix来说,它似乎是可调的.似乎页面对齐的内存分配器是有序的:D任何人都知道通用的便携式实现:D?
码:
#include <stdlib.h>
#include <time.h>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <iostream>
using namespace boost::posix_time;
int random_string_size()
{
return ( (rand() % 1023) +1 );
}
int random_vector_size()
{
return ( (rand() % 31) +1);
}
void alloca_test()
{
int vec_sz = random_vector_size();
void ** vec = (void **) alloca(vec_sz * sizeof(void *));
for(int i = 0 ; i < vec_sz ; i++)
{
vec[i] = alloca(random_string_size()); …Run Code Online (Sandbox Code Playgroud) c++ memory-management real-time micro-optimization systems-programming
我想要一个流图,如下例所示:http: //mbostock.github.com/d3/ex/stream.html

但是我想从右边输入实时数据并从左边离开旧数据,这样我总是有一个200个样本的窗口.我该如何做到这一点,以便我有适当的过渡?
我尝试更改数组a中的数据点,然后重新创建一个区域
data0 = d3.layout.stack()(a);
Run Code Online (Sandbox Code Playgroud)
但我的过渡并没有让它看起来像图表在屏幕上滑动.
提前致谢.
我正在开发一个关于实时可视化的演示,我正在尝试开箱即用.看起来任何大数据实时演示都在Twitter或流量数据上.是否有其他选项可以发布实时数据(免费)?
谢谢
简而言之:我想为我的程序安装两个控制台.一个用于活动用户输入.另一个用于纯日志输出. (工作代码包括已接受的答案在下面的问题文本中,在"编辑-3"部分下面.在"编辑-1"部分和"编辑-2"部分是功能解决方法.)
为此,我有一个主命令行Python脚本,它应该只为日志输出打开一个额外的控制台.为此,我打算将日志输出重定向到第二个控制台的stdin,该日志输出将打印在主脚本的控制台上,我将其作为子进程启动.(我使用subprocess,因为我没有找到任何其他方法来打开第二个控制台.)
问题是,似乎我能够发送到第二个控制台的stdin - 但是,在第二个控制台上没有任何内容被打印出来.
以下是我用于实验的代码(在Windows 10下的PyDev上使用Python 3.4).该函数writing(input, pipe, process)包含将生成的字符串复制到pipevia子进程打开的控制台的as 传递的stdin的部分.函数writing(...)通过类运行writetest(Thread).(我留下了一些代码,我注释掉了.)
import os
import sys
import io
import time
import threading
from cmd import Cmd
from queue import Queue
from subprocess import Popen, PIPE, CREATE_NEW_CONSOLE
REPETITIONS = 3
# Position of "The class" (Edit-2)
# Position of "The class" (Edit-1)
class generatetest(threading.Thread):
def __init__(self, queue):
self.output = queue
threading.Thread.__init__(self)
def run(self):
print('run generatetest')
generating(REPETITIONS, self.output)
print('generatetest done')
def getout(self):
return self.output
class …Run Code Online (Sandbox Code Playgroud) 我注意到Real Time Java 2.2在9月份发布,似乎距离我上次查看时已经走了很长一段路.但是,到目前为止,是否有人知道任何现实世界的用途,商业或学术用途?
我试过socket.io,我发现客户端html页面加载时,创建了一个新的套接字连接.当我刷新页面时,我发现一个新的套接字连接创建,然后旧的连接断开连接.
我的问题是如何避免这种情况?因为我正在构建一个聊天室应用程序.当用户进入房间页面时,在"连接"服务器端发出"欢迎用户xxx来!",并在"disconnectc"事件中发出"用户xxx已离开".但是当用户刷新当前页面时,这将再次触发"断开连接"事件和"连接"事件.它将发出"欢迎用户xxx来!" 和"用户xxx离开." 消息在一起.
如何忽略页面刷新事件?和http会话一样?
更新:我已经找到了解决问题的方法.从这个问题处理浏览器重新加载socket.io
我已经将Faye与Ruby On Rails一起使用,对我来说几乎是0,因为我在另一台连接到我的Rails应用程序的服务器上运行Faye.
但是我遇到了一些问题,比如在Rails服务器上查询时间过长,一段时间之后Faye Connection会失败并引发异常.
现在我正在调查Actioncontroller :: Live,大多数实现都使用Redis,这对我的创业来说有点费劲,但我意识到我不能用Actioncontroller :: Live做订阅/发布风格的东西.
我的问题:我应该转到Actioncontroller :: Live还是坚持Faye?虽然这些是我想要完成的事情:
我知道Faye使用Bayeux vs ActionController :: live使用SSE/HTTP.我应该考虑与Socket.IO有关的任何事情吗?SockJS?
我已经在这里阅读了关于这个主题的一些问题,例如: 用rails 4服务器端事件替换Faye?Faye VS rails 4流媒体? 但我需要更多信息:
real-time ×10
java ×3
python ×2
rtsj ×2
audio ×1
c++ ×1
console ×1
d3.js ×1
demo ×1
faye ×1
input ×1
javascript ×1
jvm ×1
node.js ×1
performance ×1
socket.io ×1
stream-graph ×1
subprocess ×1
transition ×1
urllib2 ×1
websocket ×1