我最近一直在尝试学习线程、线程安全,并且遇到了一个非常宽泛的术语“异步编程”。它完全把我搞糊涂了,想知道是否有人能澄清我对它的一些问题,因为它真的把我搞糊涂了。
在此之前,我认为“异步”的定义是不会同时发生,而同时发生的术语应该是“同步”。
如果你在谷歌上搜索,它实际上就是这么说的,但现在我了解到异步编程就是两件事同时发生,至少在我看来是这样的。
我在youtube上看了一个关于这一切的视频系列,他们解释说,异步编程就是在不影响主UI线程的情况下运行多个东西。
现在,我理解了线程,你创建一个新的线程,它被添加到线程池中,线程根据你计算机上的核心数量运行,它们都运行很短的时间,以创造所有线程都并行运行的假象。
让我犯错的是异步编程,现在我被告知创建一个新任务就是异步编程,异步编程仅仅意味着你在新线程上编码,因为到目前为止,两个操作同时运行的唯一方式是当它们在另外两个线程(不包括主线程(UI线程))上运行时。现在我想知道还有什么能让线程..是它在自己的线程上运行的事实使它成为异步编程的一部分,还是我错过了它的一大块?
有人能帮我把这事说清楚吗?
https://stackoverflow.com/questions/47614781
复制相似问题