C# c中的BackgroundWorker对象可以在没有Windows窗体的情况下运行吗?

C# c中的BackgroundWorker对象可以在没有Windows窗体的情况下运行吗?,c#,winforms,backgroundworker,desktop-application,C#,Winforms,Backgroundworker,Desktop Application,我需要使用**BackgroundWorker**开发一个C应用程序,但不使用Windows窗体。我看到了一些微软关于BackgroundWorker类使用的例子,它们都是专门为Windows窗体开发的。我可以在没有Windows窗体的情况下使用BackgroundWorker吗?如果是,请提供一些细节。提前谢谢 在C语言中,您可以使用它们,或者它们都用于在后台以独立的执行上下文和独立的线程运行 这是一个使用线程的简单示例 using System.Threading; //

我需要使用**BackgroundWorker**开发一个C应用程序,但不使用Windows窗体。我看到了一些微软关于BackgroundWorker类使用的例子,它们都是专门为Windows窗体开发的。我可以在没有Windows窗体的情况下使用BackgroundWorker吗?如果是,请提供一些细节。提前谢谢

在C语言中,您可以使用它们,或者它们都用于在后台以独立的执行上下文和独立的线程运行

这是一个使用线程的简单示例

    using System.Threading;

     // creating new thread and pass it the delegate to run it 

    Thread thread = new Thread(new ThreadStart(WorkThreadFunction));
    // this command to start the thread
    thread.Start();

    public void WorkThreadFunction()
    {

        // do any background work

    }

BackgroundWorker设计用于Windows窗体。ProgressChanged和RunWorkerCompleted事件会自动封送到主UI线程,因此与UI交互是安全的。如果您没有UI,那么为什么要使用BackgroundWorker?…这样做的需要从何而来?还有其他选项,例如手动创建或使用。感谢您的及时和有见地的回复!!!我继承了一个使用BackgroundWorker的Windows窗体应用程序,我需要它来连接asp.net Web API中的另一个应用程序,这就是我的需要。然而,这两个框架不能直接对话。因此,我试图从Windows窗体应用程序中提取代码,将其放入纯c应用程序中。你对线程和任务这两个选项有什么建议?线程是一种老派的方式。如果你没有令人信服的理由成为老派,那么一定要学会如何使用任务。有关Task与ThreadPool的更多信息,请参阅。感谢您的解释和博客!你好,Bakri,谢谢你的评论和例子!我想我会使用线程。