首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >视频播放器线程

视频播放器线程
EN

Stack Overflow用户
提问于 2012-01-10 21:41:04
回答 2查看 367关注 0票数 2

我正在开发一个赢表,连续24/7视频播放器,我需要一些帮助来决定哪个线程类适合我的需要。这是我第一次尝试多线程。我熟悉BackgroundWorker类,有几个要设置的属性和要处理的事件,但我还没有深入研究其余的线程类。我认为我的应用程序的任务很简单,但我可能在简单程度上是错误的。

以下是该播放器的一些功能:

读取SQL Server数据库并在DataGridView上显示数据。

从DataGridView CellMouseDoubleClick事件将DataRepeaterItems添加到DataRepeater控件(用于播放列表)。

使用每个CellMouseClick事件在辅助(预览)播放器上加载视频声音。

播放器的播放按钮在视频播放器实例上加载和播放视频,更新一些标签,在辅助DataRepeater上添加DataRepeaterItem (充当播放列表历史记录的角色),并从playlist DataRepeater控件中删除当前正在播放的DataRepeaterItem。

还有几个删除所有DataRepeaterItems和在列表中上下移动项目的按钮。稍后会添加一些类似自动播放列表的功能,根据某些条件用多个项目填充DataRepeater控件。(全天候播放)

你们觉得是什么原因?使用BackgroundWorker安全吗?还是使用其他线程类更好?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-10 21:57:31

如果你使用的是.Net 4或更高版本,我建议你使用Task类而不是Background Worker

任务类肯定是对BackgroundWorker的改进。它有更多的灵活性。使用任务可以比使用BackgroundWorker编写更优雅的代码。例如,您可以通过使用任务继续的概念来避免BackgroundWorker中涉及的事件处理程序。

票数 1
EN

Stack Overflow用户

发布于 2012-01-10 23:51:51

如果.NET 4可用,请务必使用Task%s。它们有很多有用的特性:

当当前工作有completed.

  • Marshaling of thread.

  • "Smart“
  1. 时,为同一Task排队更多工作的能力。

还有更多。查看this source可以很好地了解您可以做些什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8804178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档