【问题标题】:What is OpenTok .NET API threading behavior?什么是 OpenTok .NET API 线程行为?
【发布时间】:2020-06-21 05:29:56
【问题描述】:

OpenTok Windows SDK (.NET) 的线程行为是什么? 所有这些接口都是线程安全的吗? (可以同时从多个线程调用方法吗?) 事件处理程序是在辅助线程中调用还是始终在同一个线程或用户界面线程中调用,还是什么? 文档什么也没说。

【问题讨论】:

    标签: .net windows multithreading opentok


    【解决方案1】:

    opentok sdk 预计从单个线程调用,它不是设计为同时从多个线程调用。

    更准确地说,方法应该在创建Context 实例的同一线程中调用。由于Context 对象是一个单例,所以它是在您第一次调用Context.Intance 时创建的

    事件也会在与上述相同的线程中调用。

    但是,上面的规则只有一个例外,当您开发 WPF 应用程序时,事件总是在主线程中调用,对于其他类型的应用程序,事件在您创建上下文的同一线程中调用.

    通常,您与 SDK 交互和获取事件的线程是 UI 线程,您创建 SessionPublisherSubscriber 实例以及调用事件的位置。

    【讨论】:

    • 这似乎不适用于事件。我在主线程中创建了上下文。如果我闯入事件处理程序,它们会在其他线程上被调用。
    • 您使用的是哪个版本的 sdk?您可以使用示例存储库中的基本视频聊天来重现它吗?
    • SDK 为 2.16.6。示例应用程序的行为似乎与您描述的一样。但是,示例应用程序是 C#。我正在使用 C++/CLI。这不应该有任何区别,但不知何故它确实如此。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-13
    • 2013-11-14
    相关资源
    最近更新 更多