功率电感生产厂家
联系我们
热门搜索
点击排行
推荐阅读
猜猜你喜欢的
研发资讯 您所在的位置: 首页 > 研发资讯

利用实时Java设计数字音频系统

来源:    作者:    发布时间:2016-03-28 12:24:03    浏览量:

在第37行的socket_reader_thread = new Thread-Stack(SocketReader.class);到41行的orc插件电感hestrator_thread = new ThreadStack(Orchestrator.class)之间分配了几个新的ThreadStack对象;每次分配描述了主程序派生的线程所使用的堆栈内存。一般来说,静态分析工具可能难以确定可靠执行这些子线程所必需的堆栈内存数量。

每个ThreadStack构造函数的参数为提供代码由相应线程执行的类(Class)。静态分析器要求每个在该环境中传递的NoHeapRealtimeThread子类具有带@ StaticAnalyzable注释,且enforce_ memory_analysis属性设置为true的run()方法。如果ThreadStack构造函数的参数并非来自BoundAsyncEventHandler(例如在Orchestrator类的情况下),则静态分析器要求该类的asyncEventHandler()方法采用@StaticAnalyzable注释来声明,且enforce_memory_analysis属性设置为true。

当前线程的运行时栈能满足所有临时内存需要。请注意,我们在第23行分配了两个临时BufferPair实例,microphone_stream = new BufferPair();而在第24行,speaker_stream = new Buffer-Pair();然后这些对象的参数被传递至构造函数,用于包含该软件应用的不同功能组件的各个线程。硬实时验证器实施的限制之一在于,stack-allocated对象的参数不能比引用参数的对象本身生存时间更长电感生产,同样是通过注释机制来执行。我们来看一下SocketReader类的构造函数:

@Sco差模电感器pedPure
@StaticAnalyzable(enforce_time_analysis = {false}, enforce_non_blocking = {false})
SocketReader(SimpleAudio sa, Buffer-Pair buffers, String socket_name) throws
FileNotFoundException

@ScopedPure注释说明该构造函数的每个输入引用参数(reference parameter)可以指代那些位于外部嵌套作用域的运行时栈的对象。字节码验证器确保这些参数的内容绝不会复制到那些由于具有@Scoped指派而未被同样区分的变量上。

此外,它禁止将内部嵌套作用域变量的值复制到外部嵌套作用域变量。一个例外情况是,在特殊环境下,它可证明带参数对象位于与要赋值变量相同或更外层嵌套的作用域。如果这一构造函数的参数未由@Scoped注释指定,字节码验证器将不允许主程序将参数传至堆栈分配的BufferPair和SimpleAudio对绕行电感象。

本应用展示的RTSJ支持的实时编程抽象之一为PeriodicTimer类。注意,本应用在第49行举例说明了PeriodicTimer对象,drumbeat = new PeriodicTimer(start_time, peri色码电感器od, orchestrator);并将结果赋值给本地drumbeat变量。参数之一为orchestrator对象的引用参数,其本身是BoundAsyncEventHandler的一个实例。该drumbeat周期计时器被设置为每秒触发orchestrator对象的handleAsyncEvent()方法执行16次,即每62.5微秒一次。

采用C或C++语言的实时开发人员可以实现这些实时Java技术所支持的许多相同构造。但是,C或C++程序员必须产生悬挂指针(dangling pointer)以及内存泄漏,他们还缺乏标功率电感器准工具的支持来自动分析执行时间和堆栈大小。

另外,C和C++程序员还缺乏完整性检查以确保方法的实现能够满足文档化实时接口的要求,并确保方法调用能够传递同样满足文档接口要求的参数。最后,在对现在软件系统进行维护的过程中,C和C++程序员没有工具支持来保证对现有软件的修改与在原软件开发过程中假设的各种组成要求是相符的。

传统Java在生产效率和成本上具有许多优势。规范地使用实时Java技术可提供许多这样的优势。与使用C和C++相比,一般Java程序员在新代码开发期间具有2倍的生产率,而在现在软件维护期间具有5到10倍的生产率。随着嵌入实时软件的大小和复杂度增加,这些激发人们向更现代的软件工程技术(如由实时Java实现的工程技术)转化的因素已越来越重要了。

  • 不加压敏放电管的电源设计考虑 在做浪涌,冲击耐压和绝缘耐压时,为了节省空间,


    如何设计电源,比如几十瓦的,低压输出,可以让不加压敏放电管的电源能通过那些干扰和安全等级?


    设计时候有啥经验可以分享一下

  • 小波变换和motion信号处理(一)这是《小波变换和motion信号处理》系列的第一篇,基础普及。第二篇我准备写深入小波的东西,第三篇讲解应用。记得我还在大四的时候,在申请出国和保研中犹豫了好一阵,骨子里的保守最后让我选择了先保研。当然

  • 72W反击电源,ESD轻载不能通过接触放电8KV,但是满请问各位大神,在吧里找了很久没找到问题解决办法,我的情况是,72W的反激开关电源,在做ESD测试时,带满载72W,打静电接触放电8KV就能通过,电源不会重启,但是如果轻载打静电接触放电8KV,

  •