【问题标题】:Understanding GLib Task and Context了解 GLib 任务和上下文
【发布时间】:2019-03-20 03:01:07
【问题描述】:

我不了解 GTask 功能?为什么我需要这个? 在我看来,这就像回调......你在某些上下文中设置一个回调到源,然后在事件发生时调用这个回调。

总的来说,我对什么是 GLib 中的上下文和任务以及我们为什么需要它们感到有些困惑。 据我了解,有一个主循环(只有 1 个?)可以运行多个上下文(什么是上下文?),每个上下文都与多个源相关,这些源又具有类似于处理程序的回调。

所以有人可以对我有所了解吗?

【问题讨论】:

    标签: event-handling glib


    【解决方案1】:

    我不了解 GTask 功能?为什么我需要这个?在我看来,它就像回调。你在某些上下文中为源设置一个回调,然后在事件发生时调用这个回调。

    GTask 公开的主要功能是在线程中轻松安全地运行任务并将结果返回给主线程。

    总的来说,我对什么是 GLib 中的上下文和任务以及我们为什么需要它们感到有些困惑。据我了解,有一个主循环(只有 1 个?)可以运行多个上下文(什么是上下文?),每个上下文都与多个源相关,这些源又具有类似于处理程序的回调。

    为简单起见,我认为将上下文和循环视为同一事物是安全的,并且可以有多个。所以为了线程安全,任务必须知道结果返回到哪个上下文。

    【讨论】:

      猜你喜欢
      • 2019-04-29
      • 1970-01-01
      • 2016-07-03
      • 1970-01-01
      • 2011-02-16
      • 2016-03-09
      • 1970-01-01
      • 2015-04-07
      • 2013-09-09
      相关资源
      最近更新 更多