小编fen*_*aun的帖子

你将如何实现一个基本的事件循环?

如果你使用过gui工具包,你就知道有一个事件循环/主循环应该在一切完成后执行,这将使应用程序保持活跃并响应不同的事件.例如,对于Qt,您可以在main()中执行此操作:

int main() {
    QApplication app(argc, argv);
    // init code
    return app.exec();
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,app.exec()是应用程序的主循环.

实现这种循环的显而易见的方法是:

void exec() {
    while (1) {
        process_events(); // create a thread for each new event (possibly?)
    }
}
Run Code Online (Sandbox Code Playgroud)

但是这会将CPU限制在100%并且实际上是无用的.现在,我如何实现这样一个响应的事件循环,而不必完全占用CPU?

回答在Python和/或C++中受到赞赏.谢谢.

脚注:为了学习,我将实现自己的信号/插槽,我会用它们来生成自定义事件(例如go_forward_event(steps)).但是如果你知道如何手动使用系统事件,我也想知道这一点.

c++ python event-loop blocking

56
推荐指数
5
解决办法
3万
查看次数

在哪里可以找到一本关于使用perl编写curses应用程序的好书?

我一直在寻找一种编写curses应用程序的好方法.到目前为止,我已经找到了Curses :: UI和Curses :: Toolkit,但它们都没有像我希望的那样具有马力.现在我想用Curses本身编写我的应用程序,并在此过程中了解它!有没有好书/教程/等等.那会教会我用Curses和Perl编写应用程序的勇气吗?(我不介意它是否用其他语言编写,如C语言.只要我能将我读到的内容翻译成Perl,就可以了!)

谢谢,

curses perl ncurses

5
推荐指数
1
解决办法
1763
查看次数

将 html <video> 中的字节范围转换为时间范围

我有一些服务器端代码当前支持 http 字节范围请求,没有任何问题。但是,我希望能够在将转码块发送到客户端之前使用 ffmpeg 即时转码视频文件(位于磁盘上),但 ffmpeg 要求我在获取字节时给它一个寻道时间范围来自客户。给定客户端浏览器的字节范围,我如何能够计算出视频文件的时间范围(寻道时间)?

我已经看过这个问题,它假设服务器已经知道指定的时间。

我愿意使用 html5 视频播放器,它支持使用时间范围而不是字节范围来请求数据,但我一直无法找到实现或弄清楚缓冲的 javascript 端如何<video>工作。

html javascript ffmpeg

5
推荐指数
1
解决办法
2813
查看次数

C++是否有语法解析器(类似于python的yapps)?

我正在编写一种非常接近伪代码的实验语言,以获得乐趣并更多地了解C++.其中一个问题是我需要解析一些语法,而我找到一个好的C++语法解析器的搜索却没有成功(我找不到任何东西).我想要完成的是:

set a to 4
Run Code Online (Sandbox Code Playgroud)

我希望解析器返回一个包含类似于以下内容的地图:

command = "set"
var = "a"
value = 4
Run Code Online (Sandbox Code Playgroud)

基于我给出的一套规则.

如果我找不到任何有用的东西,我最终将不得不自己滚动,但我想尽可能防止重新发明轮子.

那么,有没有人知道一个生成C++代码的良好/合理的语法分析器?如果广泛使用它会好得多.

谢谢!

c++ grammar parsing

2
推荐指数
2
解决办法
3349
查看次数

使用Django创建非重新加载动态Web应用程序

据我所知,对于来自webapp的新请求,您需要重新加载页面以处理并响应该请求.

例如,如果要在帖子上显示评论,则需要重新加载页面,处理评论,然后显示.然而,我想要的是,我希望能够添加注释(例如facebook,其中注释被添加并显示,例如,无需重新加载整个页面),而无需重新加载网页.是否可以只使用没有Javascript/AJAX知识的Django和Python?

我听说有可能用AJAX(我不知道怎么做),但我想知道是否可以用Django做.

谢谢,

python django ajax

0
推荐指数
1
解决办法
805
查看次数

标签 统计

c++ ×2

python ×2

ajax ×1

blocking ×1

curses ×1

django ×1

event-loop ×1

ffmpeg ×1

grammar ×1

html ×1

javascript ×1

ncurses ×1

parsing ×1

perl ×1