UE 虚幻引擎 C++ 线程锁,作用域锁

这篇具有很好参考价值的文章主要介绍了UE 虚幻引擎 C++ 线程锁,作用域锁。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

UE 里面的线程锁比较常用的就是 FCriticalSection + FScopeLock。

FCriticalSection 是锁对象。

FScopeLock 是锁的作用域对象。

使用方法

1. 定义锁对象

FCriticalSection RefreshMutex;

定义一个 FCriticalSection 锁对象,这个对象可以是全局的,也可以是类变量,这个根据实际情况使用。唯一需要保证的就是,需要同步的代码都需要使用同一个锁。

2. 使用作用锁

// 不同步代码
{
    FScopeLock RefreshLock(&RefreshMutex);
    // 同步的代码
}
// 不同步代码

可以简单理解就是 FScopeLock 构造函数会把 RefreshMutex 给锁住,如果有其他线程暂用 RefreshMutex 锁,则 FScopeLock 则会一再在构造函数等待。

在 FScopeLock 析构的时候,也就是作用域结束以后,会自动释放 RefreshMutex锁,这样其他线程的等待对象就会执行。

总结

FCriticalSection + FScopeLock 是 UE 封装好了的很简单使用的锁。

只要对C++的作用域、构造、析构理解比较清楚都可以很好的使用。文章来源地址https://www.toymoban.com/news/detail-630541.html

到了这里,关于UE 虚幻引擎 C++ 线程锁,作用域锁的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【虚幻引擎】UE4/UE5 材质

      基础颜色(BaseColor) :材质本身的颜色,例如绿色蓝色等 金属度(Metallic) :金属度,材质是否含有金属光泽 粗糙度(Roughness) :粗糙或者平滑度,物体表面的粗糙程度 自发光(EmissiveColor) :物体本身是否发光 透明度(Opactity) :物体表面是否透明,适用于 半透明(Translucent)、

    2024年02月02日
    浏览(82)
  • 【虚幻引擎】UE4/UE5插件

    Blank:空白插件,可以从头开始自己定义想要的插件风格和内容,用此模板创建的插件不会有注册或者菜单输入。 BlueprintLibrary:创建一个含有蓝图函数库的插件,此模板函数都是静态全局函数,可以在蓝图中直接调用。 ContentOnly:创建一个只包含内容的空白文件 Editor Toolba

    2024年02月05日
    浏览(75)
  • 【虚幻引擎】UE4优化植被

    在UE4中,我们在做大型的室外场景时,经常会遇到植物过多导致延迟的现象,有时候我们需要在UE4的场景中放置几千几万甚至更多的模型,这些模型具有相同的LOD,并且基础模型都使用同一模型资源。因为模型文件拖入UE4场景中会自动使用Static Mesh Actor来表示,当在程序中放

    2024年02月15日
    浏览(57)
  • 【虚幻引擎UE】打包异常问题合集

    1. 项目路径及项目名称问题 项目路径及项目名称不可以包括 %-!等特殊字符以及中文。 含C++代码的项目,名称不能是Test,否则打包时会报错ERROR: No target name was specified on the command-line. 但可以使用下划线! 且项目内的函数和变量、类型都可以用中文! 1. 插件安装路径错误 抛

    2024年02月02日
    浏览(50)
  • 【虚幻引擎UE】UE4/UE5 新人科普向

    Unreal Engine是当前最为流行的游戏引擎之一,具有丰富的游戏开发功能和强大的游戏引擎渲染能力。 UE5官方文档:UE5官方文档非常详细,介绍了UE5的各个功能和应用,适合入门学习和深入探究。链接:https://docs.unrealengine.com/5.1/zh-CN/ UE5中文社区:该社区聚集了大量的UE5开发者,

    2024年02月09日
    浏览(79)
  • 【虚幻引擎】UE4/UE5 pak挂载

     找到:D:UEUE_4.27EngineBinariesWin64,  WindowS+R打开CMD命令 运行UnrealPak,运行结果如下      注意如果想要加载Pak内资源,那么这些资源必须是经过Cook的。如果打包的是未Cook的资源,那么即使Pak挂载成功,也不可能会成功加载Pak内资源。  Cook好之后,存储的路径在你的I:DBJ

    2024年02月10日
    浏览(75)
  • UE虚幻引擎云渲染支持8K方案

    UE自带的pixel streaming只支持4K以内的编码,查看HardwareEncoders插件源码,发现nvenc编码器由于硬件限制,超过4K分辨率的视频编码必须使用h265 hevc编码,默认情况下使用h264不支持8K分辨率。 修改源码PluginsHardwareEncodersSourceEncoderNVENCPrivateNVENC_EncoderH264.cpp 如果需要编码后的裸流,

    2024年02月16日
    浏览(57)
  • 虚幻引擎UE编辑器卡顿问题

    使用虚幻引擎编辑器编辑蓝图页面卡顿,视角无法转动,只能放大缩小,甚至事件图表都无法拖动。 显卡驱动安装与N卡适配的studio版本。 在NVIDIA显卡控制面板3D设置,程序设置找到UE,设置UE OpenGL渲染为GPU。 设置里找到图形设置,添加UE,设置图形首选项为高性能。

    2024年02月15日
    浏览(87)
  • UE 虚幻引擎项目启动快捷键

    1、Epic GamesLauncher目录下找到 UnrealVersionSelector.exe 2、将 UnrealVersionSelector.exe 添加到任务栏,鼠标右键点击,可以看到所有打开的UE项目(不限UE版本)。鼠标左键点击,就可以打开UE项目了。    

    2024年02月11日
    浏览(39)
  • [虚幻引擎][UE][UE5]控制多个pawn之间切换

    缺点:无法使用碰撞了,模型会穿模

    2024年02月13日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包