多线程交换和移动的应用场景

来源:10-19 多线程小结

慕少7118645

2021-04-17

我是从事.net开发的,一般对于多线程的应用,最多的也就是让其异步处理一些操作,免得阻塞主线程,包括一些采集程序、异步更新之类的。
老师讲的C++中的多线程交换和移动,举的案例我也能看明白,但是,在哪些场景中会用到这样的功能。想让老师分享一下经验,您一般在处理什么业务时会用到它(线程移动和交换)。

写回答

1回答

quickzhao

2021-04-17

线程的安全性是一个很难处理的话题。可能存在下面的场景,我们需要做一些有风险的操作,比如处理io或者一个耗时的操作,可能会产生未知异常。为了保证操作和线程对象不被破坏,我们可以先在一个线程中尝试这样的操作,一旦成功,我们可以通过swap切换两个线程句柄,这样保证线程内操作的安全性和效率。

2
1
易萧
这个例子有点似懂非懂的,如果另一个线程处理成功了,为什么还要多此一举切换句柄呢?句柄不就是线程的一个标识吗,谁成功了,id是多少,这很重要吗
2022-08-24
共1条回复

重学C++ ,重构你的C++知识体系

一部大片,一段历史,构建C++知识框架的同时重塑你的编程思维

3884 学习 · 1103 问题

查看课程