【发布时间】:2015-11-14 11:13:48
【问题描述】:
我正在尝试编写模块来监控用户观看流媒体的时间。这不是直播,而是点播视频。
我的问题是什么是最有效的方法。我走了这条路:
创建了实现IMediaStreamActionNotify2 的类,然后当onPlay 事件被触发时,我将创建一个新线程,该线程将定期检查自流开始以来经过的时间并更新duration 变量。
这是我决定运行附加线程的方式:
BalanceTimerMonitor btm = new BalanceTimerMonitor(...);
ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
executor.scheduleAtFixedRate(btm, 0, 5, TimeUnit.SECONDS);
BalanceTimerMonitor 实现Runnable
现在所有这些都有效,但我担心为每个流创建的新线程的数量,因为我假设每个流已经作为独立线程从主 wowza 应用程序运行。这么多线程会减慢我的服务器速度吗?还有另一种更优雅的测量流持续时间的方法吗?
【问题讨论】:
-
嗨 Dexa,有帮助吗?
标签: java multithreading wowza