<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[dreameating的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dreameating</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dreameating]]></copyright><item><title><![CDATA[FairyGUI GComponent.GetController(“c1“）里的c1是什么？]]></title><link>https://blog.youkuaiyun.com/dreameating/article/details/120150315</link><guid>https://blog.youkuaiyun.com/dreameating/article/details/120150315</guid><author>dreameating</author><pubDate>Tue, 07 Sep 2021 09:07:45 +0800</pubDate><description><![CDATA[在官网的api文档中可以看到GComponent类中有AddController和GetController方法，但是经常能看到没有使用AddController方法直接调用GetController(“c1”)就获取了控制器对象，而且还不知道这是控制什么的控制器对象。
这种情况是因为名为c1的控制器在FairyGUI Editor内就生成了，并且还关联了一些组件，比如：
用到AddController的情况初步推测是需要动态创建控制器并关联组件的情况，工作经验尚浅，暂时先把这个猜想放在心里以后慢慢去验证吧]]></description><category></category></item><item><title><![CDATA[InterLocked类避免锁定对象获取正确结果的逻辑原理]]></title><link>https://blog.youkuaiyun.com/dreameating/article/details/119750181</link><guid>https://blog.youkuaiyun.com/dreameating/article/details/119750181</guid><author>dreameating</author><pubDate>Tue, 17 Aug 2021 10:53:29 +0800</pubDate><description><![CDATA[针对一个变量，计算机对其的增减操作经过了这三个步骤：

将变量的值放到寄存器
进行增或减操作
将结果值存回变量

这里有线程A和B要对同一个变量同时操作，
A要给这个变量的值+1了！
A加完了，正要执行步骤3进行存储，B带着还没进行更新数值的变量插了进来进行操作，结果最后A操作完的结果被B覆盖导致错误。
但如果把这三个步骤作为一个原子，A操作完了这个原子后B再进行操作就不会有问题了，这就是原子操作。
但至于内部是如何实现的就不清楚了，这里提供一下别人的思路：https://blog.youkuaiyun.com/huo]]></description><category></category></item><item><title><![CDATA[吞吐量是什么]]></title><link>https://blog.youkuaiyun.com/dreameating/article/details/119738955</link><guid>https://blog.youkuaiyun.com/dreameating/article/details/119738955</guid><author>dreameating</author><pubDate>Mon, 16 Aug 2021 18:04:41 +0800</pubDate><description><![CDATA[从网络层面来讲，是指单位时间内处理客户请求的数量，请求都是和数据有关的，所以也可以理解为单位时间内处理的网络数据的量。一般涉及到了编程都是指网络的吞吐量。

]]></description><category></category></item><item><title><![CDATA[异步编程和并行编程的区别]]></title><link>https://blog.youkuaiyun.com/dreameating/article/details/119738558</link><guid>https://blog.youkuaiyun.com/dreameating/article/details/119738558</guid><author>dreameating</author><pubDate>Mon, 16 Aug 2021 17:54:54 +0800</pubDate><description><![CDATA[异步的操作都在一个线程完成，而并行的操作必须要两个以上的线程。
为什么呢，因为并行，意味着同时，对于两个操作，一个线程无法同时完成它们，就像我不能一边用手洗衣服一边用手抄作业，你的这双手就是一个线程，如果你的脚很灵活，你可以一边用脚洗衣服一边用手抄作业，这样你的手和脚就是两个线程。
异步，它是一种并发，当你想要一个结果，但又不是现在马上就需要它，而你又有别的事要做，那你先做这件事，等结果出来了，你去取结果然后再回来继续干这件事，而不是两件事同时干。比如你有作业要抄，又要洗衣服，你先把衣服扔洗衣机里，然后不管]]></description><category></category></item><item><title><![CDATA[关于前台线程与后台线程]]></title><link>https://blog.youkuaiyun.com/dreameating/article/details/119737992</link><guid>https://blog.youkuaiyun.com/dreameating/article/details/119737992</guid><author>dreameating</author><pubDate>Mon, 16 Aug 2021 17:24:55 +0800</pubDate><description><![CDATA[前台和后台线程 | Microsoft Document
不管怎么说，官方的信息来源最可靠不是吗？

]]></description><category></category></item><item><title><![CDATA[浅谈线程基础]]></title><link>https://blog.youkuaiyun.com/dreameating/article/details/119731939</link><guid>https://blog.youkuaiyun.com/dreameating/article/details/119731939</guid><author>dreameating</author><pubDate>Mon, 16 Aug 2021 16:54:37 +0800</pubDate><description><![CDATA[文章目录一些基础信息
一些基础信息
线程是什么？
一种运行进程的基本单位，还会占用计算机资源。
进程是什么？
一种运行程序的基本单位。
线程什么情况下会消耗资源？

切换上下文时，当你从这个线程切换到另一个线程，这种行为会耗费资源。
正常运行时，耗费的资源程度和代码逻辑有关系，简单的逻辑用一个线程运行就能免去切换线程上下文需要耗费的资源。
挂起等待其他线程运行时（阻塞状态），这种情况耗费的资源很少，但你懂的，如果等待中的线程基数很大，耗费的资源就会很多，另外，等待的线程重新运行会导致上下文切换（这又要耗费资]]></description><category></category></item><item><title><![CDATA[关于运行ET框架Demo时遇到的问题（Error Code 10061)]]></title><link>https://blog.youkuaiyun.com/dreameating/article/details/119726290</link><guid>https://blog.youkuaiyun.com/dreameating/article/details/119726290</guid><author>dreameating</author><pubDate>Mon, 16 Aug 2021 09:57:32 +0800</pubDate><description><![CDATA[如果你在unity上点击运行，然后出现登录界面，点完登录没有反应，出现ET.RpcException:10061错误，那基本是因为你没有运行Server.App文件。
你不需要点开Unity.sln。（实际上我想重新生成这个解决方案但却出现了一千多个错误）
你只需要点开Client-Server.sln（这应该是双端共享的解决方案）
然后重新生成这个解决方案，如果没有报错，就点开Server运行Server.App。
如果报错了，本文章无法解决你的问题，你需要搜集其他的信息。
Server.App运行后出现]]></description><category></category></item><item><title><![CDATA[关于task.Result]]></title><link>https://blog.youkuaiyun.com/dreameating/article/details/119574292</link><guid>https://blog.youkuaiyun.com/dreameating/article/details/119574292</guid><author>dreameating</author><pubDate>Tue, 10 Aug 2021 17:04:56 +0800</pubDate><description><![CDATA[使用task.Result会返回task对象的结果。
而要task对象返回结果意味着它执行了一些内容并有了一个能返回的结果。
所以使用了task.Result的线程就会被阻塞，因为需要等待task对象返回结果。
换句话说，你想阻塞一个线程时，也可以通过这种方式。

...]]></description><category></category></item><item><title><![CDATA[关于C# RunSynchronously()方法]]></title><link>https://blog.youkuaiyun.com/dreameating/article/details/119574209</link><guid>https://blog.youkuaiyun.com/dreameating/article/details/119574209</guid><author>dreameating</author><pubDate>Tue, 10 Aug 2021 17:01:53 +0800</pubDate><description><![CDATA[run = 运行
synchronously = 同步地
相当于同步运行一个Task对象的内容。
使用它将不会另开线程执行Task对象。

]]></description><category></category></item><item><title><![CDATA[C# TPL中创建异步的几种方式]]></title><link>https://blog.youkuaiyun.com/dreameating/article/details/119572011</link><guid>https://blog.youkuaiyun.com/dreameating/article/details/119572011</guid><author>dreameating</author><pubDate>Tue, 10 Aug 2021 16:06:47 +0800</pubDate><description><![CDATA[文章目录实例化Task对象并Start调用Task.Run()使用Task.Factory

实例化Task对象并Start
var t1 = new Task(() =&gt; yourAsyncMethod());
t1.Start();

此方式创建任务需要注意只有调用Start()后才会真正启动Task对象。
调用Task.Run()
Task.Run(() =&gt; your AsyncMethod());

创建即启动。
使用Task.Factory
Task.Factory.StartNew]]></description><category></category></item><item><title><![CDATA[小白的《C#图解教程》学习笔记（第五章）]]></title><link>https://blog.youkuaiyun.com/dreameating/article/details/119084656</link><guid>https://blog.youkuaiyun.com/dreameating/article/details/119084656</guid><author>dreameating</author><pubDate>Thu, 29 Jul 2021 09:35:36 +0800</pubDate><description><![CDATA[小白的《C#图解教程》学习笔记（第五章）唠唠嗑

唠唠嗑

嗨，我是小白，如果你不喜欢看一整本书而是带着轻松的心情看别人学习一本书，或者喜欢通过和人讨论的模式来进行学习，就来关注我吧。
如果有比我还小白的小白们有非常非常基础的问题要问，我会根据私信人数出期特别的，简单易懂的教程哦。

考虑到是给各位

...]]></description><category></category></item><item><title><![CDATA[小白的《C#图解教程》学习笔记（第四章）]]></title><link>https://blog.youkuaiyun.com/dreameating/article/details/119053204</link><guid>https://blog.youkuaiyun.com/dreameating/article/details/119053204</guid><author>dreameating</author><pubDate>Sat, 24 Jul 2021 13:33:55 +0800</pubDate><description><![CDATA[小白的《C#图解教程》学习笔记（第四章）唠唠嗑一、C#的一些注意点1.关于声明变量时的一些注意点2.关于返回类型的注意点3.关于类类型变量的注意点4.关于实例和静态成员的注意点二、访问修饰符1.C#的五种访问修饰符私有访问和公有访问

唠唠嗑

嗨，我是小白，如果你不喜欢看一整本书而是带着轻松的心情看别人学习一本书，或者喜欢通过和人讨论的模式来进行学习，就来关注我吧。
如果有比我还小白的小白们有非常非常基础的问题要问，我会根据私信人数出期特别的，简单易懂的教程哦。

鉴于上期的内容有点多，笔记还是一章一章的]]></description><category></category></item><item><title><![CDATA[小白的《C#图解教程》学习笔记（一到三章）]]></title><link>https://blog.youkuaiyun.com/dreameating/article/details/118936785</link><guid>https://blog.youkuaiyun.com/dreameating/article/details/118936785</guid><author>dreameating</author><pubDate>Thu, 22 Jul 2021 09:44:45 +0800</pubDate><description><![CDATA[嗨，我是小白，

]]></description><category></category></item><item><title><![CDATA[小白也能看懂，编译型语言与解释型语言到底是什么？原理类（一）]]></title><link>https://blog.youkuaiyun.com/dreameating/article/details/118851429</link><guid>https://blog.youkuaiyun.com/dreameating/article/details/118851429</guid><author>dreameating</author><pubDate>Sat, 17 Jul 2021 15:02:26 +0800</pubDate><description><![CDATA[在遥远又相近的二十世纪，一个对科学乐此不疲的科学家在工房做着它的实验，随着低电平到高电平的一次0到1的轻微变化，灯泡亮了，它被发明了出来，二进制的世界由此展开！
咳咳，开个玩笑，不玩弄历史，让我们立刻开始正题吧。
编译型语言和解释型语言，它们都属于高级计算机语言，只要稍微了解一下计算机语言是如何让计算机进行工作的原理，我们自然就会明白编译型语言和解释型语言的区别。
相信各位学过计算机导论的可爱的人儿们，都明白高级语言编写的程序是没办法让计算机直接执行的，毕竟高级语言设计出来的初衷就是让“人”更方便解读程序的]]></description><category></category></item><item><title><![CDATA[BFS：打开转盘锁（Java实现）]]></title><link>https://blog.youkuaiyun.com/dreameating/article/details/106802029</link><guid>https://blog.youkuaiyun.com/dreameating/article/details/106802029</guid><author>dreameating</author><pubDate>Wed, 17 Jun 2020 11:26:33 +0800</pubDate><description><![CDATA[文章目录题目简介来源内容实现方法解题思路实现代码最后的话
题目简介
来源
力扣（LeetCode）
链接：https://leetcode-cn.com/problems/open-the-lock
著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
可以点击链接查看题目的详细信息，并直接尝试解题。
该题也是力扣放在探索里 队列与广度优先搜索 中的题，算是广搜算法的经典题了。
内容
你有一个带有四个圆形拨轮的转盘锁。每个拨轮都有10个数字： ‘0’, ‘1’, ‘2’, ‘3’, ‘4’,]]></description><category></category></item></channel></rss>