zoukankan      html  css  js  c++  java
  • 4.6、Libgdx线程介绍

    全部的ApplicationListener方法都在同一线程中调用。这个线程是能够调用OpenGL的渲染线程。

    对大部分游戏来说,更新逻辑或者渲染一般都放在ApplicationListener.render()方法中。
    不论什么的图像操作都会在渲染线程中操作,在其它线程中造作会导致没有定义的行为。这是由于OpenGL context只在渲染进程中可用。
    为了从其它线程中传递数据到渲染进程中,我们推荐使用Application.postRunnable()。

    这将使得会在渲染进程的下一帧执行这些代码,并且是在ApplicationListener.render()被调用之前。

    new Thread(new Runnable() {
    @Override
    public void run() {
    // 在这完毕须要的操作,同步到渲染线程。
    final Result result = createResult();
    // 将Runnable推送到渲染线程。
    Gdx.app.postRunnable(new Runnable() {
    @Override
    public void run() {
    // 产生结果
    results.add(result);
    }
    });
    }
    }).start();
    那个Libgdx类是线程安全的?
    在Libgdx中,没有类是线程安全的。除非在官方API中表明。
    记住,不要把graphics和audio相关的不论什么操作使用多线程。


    www.libgdx.cn版权全部,如需转载,注明出处)
  • 相关阅读:
    JavaScript String常用方法和属性
    JavaScript null 和 undefined
    document.write()
    MyBatis中的@MapKey注解
    Zookeeper实现分布式锁
    zookeeper相关
    二阶段提交和三阶段提交
    代理模式
    模板方法模式
    策略模式
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5363373.html
Copyright © 2011-2022 走看看