Asynchronous 为了线程安全,所有异步调用是否应该由同一个线程执行?

Asynchronous 为了线程安全,所有异步调用是否应该由同一个线程执行?,asynchronous,Asynchronous,我现在对异步/等待调用有点困惑。在我的代码中,我有一系列异步调用。 代码看起来像 public async Task<T> MethodA(){ do something; return await MethodB();} public async Task<T> MethodB(){ do something; return await MethodC();} public async Task<T> MethodC(){ return something;

我现在对异步/等待调用有点困惑。在我的代码中,我有一系列异步调用。 代码看起来像

public async Task<T> MethodA(){ do something; return await MethodB();}
public async Task<T> MethodB(){ do something; return await MethodC();}
public async Task<T> MethodC(){ return something; }
public async Task MethodA(){do something;return wait MethodB();}
公共异步任务MethodB(){do something;return wait MethodC();}
公共异步任务方法C(){返回某物;}
通过查看CurrentThread.ManagedThreadId,我发现每个异步调用的线程都是不同的。有人告诉我这可能会导致问题,因为它不是线程安全的


谁能告诉我那个论点是真的还是假的?所有调用都需要使用同一个线程吗?

我认为您首先需要对“线程安全”的含义进行一些基础研究。你需要这样才能理解答案。如果你不知道线程安全,你就不应该把异步搞得一团糟……我认为你首先需要对“线程安全”的含义进行一些基础研究。你需要这样才能理解答案。如果你不知道线程的安全性,你就不应该把异步搞得一团糟。。。