Multithreading 如果没有异步性,可以有多线程吗?

Multithreading 如果没有异步性,可以有多线程吗?,multithreading,asynchronous,terminology,Multithreading,Asynchronous,Terminology,我知道在没有多线程的情况下可以实现异步(例如,一些与I/O相关的任务)。但可能是另一种情况吗? 例如,这段代码(主线程创建一个新线程来做一些工作,并等待它完成): 它是异步的吗?或者它应该使用一些异步模式(例如,基于事件的模式),这样我们就可以这样称呼它了?不过我知道它是无用的,我的问题是关于术语的。你启动一个线程,它异步运行它。但是您会立即在主线程上调用它的join,因此需要在它上进行大量同步。如此之多,以至于人们可以将其称为等同于在单个执行线程上同步运行 我可以将这段代码同时称为async或

我知道在没有多线程的情况下可以实现异步(例如,一些与I/O相关的任务)。但可能是另一种情况吗? 例如,这段代码(主线程创建一个新线程来做一些工作,并等待它完成):


它是异步的吗?或者它应该使用一些异步模式(例如,基于事件的模式),这样我们就可以这样称呼它了?不过我知道它是无用的,我的问题是关于术语的。

你启动一个线程,它异步运行它。但是您会立即在主线程上调用它的
join
,因此需要在它上进行大量同步。如此之多,以至于人们可以将其称为等同于在单个执行线程上同步运行

我可以将这段代码同时称为async或sync(特别是取决于调用的实现,如
join
),但老实说,这只是一个术语,我不担心它

异步/同步只是描述软件行为的有用概念。他们不应该以相互排斥的方式解释每一段代码

var thread = new Thread(() => DoSomethig());
thread.Start();
thread.Join();