哈喽大家好,我叫人宅,这一期我们给大家带来一套工具类教程,如何开发UE4多线程商业库。
本套教程将融合了UE4代理,UE4多线程,UE4智能指针,插件开发等综合知识进阶的技巧,是一套综 合实战课程。,
虽然UE4为我们游戏开发提供了三套多线程解决方案,但是在我们日常开发项目中,依然需要封装和整合UE4线程,比如做服务器开发 or 是引擎开发。如果对多线程使用上只是熟悉或者不太了解的,那么在使用中会出现很多奇奇怪怪的问题,而束手无策。那有没有什么库可以解决这个问题,当然有,非常多,比如std::thread,Boost库等,都提供了丰富的多线程的封装,但是有一点,它们的风格不是UE4C++风格,维护上也是一件很麻烦的事情,因为这些库的源码不可能为你公开的,及时公开, 源码也不一定看得懂。
这一期我们来封装一套基于UE4C++商业版本的线程库,直接可以用于项目中,最重要是使用方便,轻巧便捷,维护性强。
我们简单介绍一下这套教程会给您带来哪些技能的知识点;
1. 掌握UE4多线使用,
怎么加锁,如何挂起线程,如何唤醒,如何避免死锁,如何让线程同步,如何异步,如何开启线程,如何安全的销毁线程,如何高效的使用UE4线程,如何创建任务队列,如何搭建和维护自己的线程池。
2 封装技巧
我们主要讲解的是商业版本的多线程库的封装,你可以在该教程中学习到很多高级的封装技巧,如何封装管理类,如何使用模板的高级封装,这些封装最终是让使用者更加便捷,我们会用最少的代码来描述一套商业线程是如何高质量开发出来的,学完这些技巧后您可以运用在自己的项目中,使代码令人眼前一亮。
3 代理的高级运用
我们会讲解代理的高级运用,这套教程您将对代理有了更深刻的理解,这些技巧您将会在日后的项目开发中,让代码更有分量感。
4 协程
我们会讲解什么是协程,怎么使用以及,如何高级的封装UE4协程。
5. 原生多线程
我们会讲解最最原生的多线程案例,UE4的多线程都是基于此API架构的,知彼知己方能百战不殆。
6 UE4异步资源加载系统
我们会封装一套基于UE4的异步加载资源系统,并且会讲解所涉及到UE4异步资源加载类,比如FGCObject,FStreamableManager,FStreamableHandle等类的讲解
7 其他知识点
通过本套教程,您将对UE4多线程的使用有一个非常深刻的认识,不论是做服务器还是客户端,还是热更新,这将是一个非常好的基础。
说了这么多,我们介绍一下每个章节讲解的内容:
第一章 搭建线程插件
这一节我们会讲解如何封装一套属于自己的Runnable多线程,这一节为后面封装线程管理莫定基础。
第二章 封装线程池的同步和异步
这一章我们通过对信号量的设置来实现线程的同步和异步,这一章同样我们会封装我们的代理线程,并且解决线程安全等问题
第三章 封装线程任务管理
这一章我们开始封装线程池任务,我们也称为任务队列,我们可以不断的向任务线程发送任务请求,一旦有闲置线程便可以执行我们的任务,通过这种方式,我们便可以高效的利用我们线程池里面的线程,防止线程资源的浪费,这一节为我们后面搭建服务器有巨大的帮助。
当然我们还会分析该插件跨平台问题等。
第四章 通过模板高效封装UE4线程
我们已经封装代理线程和任务线程,UE4Abandonable线程,这一章我们开始通过模板整合这三种线程通用的函数,使其结构更加精炼,使用上风格更加统一,最后我们再加入协程,并且讲解什么是协程,最终我们会将协程封装到我们的插件中。
第五章 前置任务线程封装
这一节我们开始封装UE4使用频率最高的线程Graph线程,我们也会讲解如何封装我们的渲染线程,这对我们以后学习渲染有很大的帮助哦~
当然我们还会讲解如何封装我们的原生Windows线程,理解并且使用我们的它。
第六章 封装异步资源管理
这节我们开始讲解异步资源管理,并且将它进行高级封装,最终效果是方便又实用,而且我们还会讲解里面涉及到的异步管理,以及GCObject类讲解等。
第七章 如何使用SimpleThread
这一章我们主要是以测试线程为主,通过前面的各种封装,这一章是真正检验我们线程插件商业价值的地方.这一章我们会讲解如何使用代理线程,任务线程,同步异步线程,资源管理线程,图表线程,协程,以及各种宏线程。
宣传视频:
上传视频封面
UE4套件-多线程库开发
以下是本套教程的目录
第一章 搭建线程插件
1-1 创建线程插件
1-2 创建线程接口
1-3 封装Runnable线程
1-4 封装线程池管理
第二章 封装线程池同步异步
2-1 建立线程绑定执行机制
2-2 如何正确删除线程
2-3线程安全与线程同步
2-4 Bind匹配代理模板
2-5 线程异步问题
第三章 封装任务管理
3-1 自动化任务队列设计
3-2 封装信号量
3-3 高级封装线程管理接口
3-4 高级封封装代理线程管理
3-5 高级封装任务线程管理和总管理
3-6 插件的跨平台问题
第四章 通过模板高效的封装UE4线程
4-1 利用宏编程实现UE4线程池同步和异步
4-2 封装线程同步和异步到管理
4-3 通过模板匹配同意代理接口
4-4 什么是协程
4-5 封装协程对象
4-6 封装协程管理
第五章 前置任务线程封装
5-1 封装前置任务UE4线程管理
5-2充分发挥Graph线程特性
5-3 CreateThreadWindowsAPI封装
5-4 渲染线程讲解
第六章 封装异步资源读取
6-1 封装资源异步加载
6-2 StreamableManager讲解
6-3FGCObject讲解
6-4FStreamableHandle讲解
第七章 如何使用SimpleThread
7-1测试Proxy线程解决线程绑定和销毁问题
7-2测试Task线程解决传值的乱码问题
7-3测试Abandonable线程的同步异步
7-4 测试协程
7-5测试Graph线程和Windows线程
7-6测试异步资源加载使用
通过这套教程您可以学到哪些内容?
1. 如何使用线程,理解同步和异步的封装以及使用,理解并且运用线程挂起和唤醒技巧,锁的使用,如何规避死锁等
2. 如何优雅的封装多线程,如何设计出令人眼前一亮的代码。
3. 理解资源异步读取的使用,这一块我们会对着UE4文件讲解,并且讲解里面涉及到的函数使用方法
4. 协程的封装和使用,理解协程,并且封装协程
5. 代理的高级运用等
如果遇到不会的问题可以及时问我。
本套教程地址
作者的其他文章地址
人宅系列