并发思想,代码控制-基于c++语言的管理
(2024-09-29 14:59:19)分类: 接口类的哈 |
常用的三个层级:1、用C++ 的并发库 管理线程、2、同步操作,3、进行异步编程。
std::cout <<
"Hello from a thread!\n";
void operator()() const
{
std::cout << "Hello from thread
functor!\n";
}
std::thread
t1(helloFunction); // 使用函数创建线程
ThreadFunctor
functor;
std::thread
t2(functor); // 使用函数对象创建线程
// 确保在退出 main()
之前线程都已经完成
t1.join();
t2.join();
return 0;
mtx.lock();
for (int i = 0; i <
n; ++i) { std::cout << c; }
std::cout <<
'\n';
mtx.unlock();
std::thread
t1(printBlock, 50, '*');
std::thread
t2(printBlock, 50, '$');
t1.join();
t2.join();
return 0;
return
42;
auto fut =
std::async(findAnswer);
std::cout
<< "The answer to life, the universe and everything is "
<< fut.get() << std::endl;
return 0;
1、用C++
的并发库 管理线程
#include
#include
void helloFunction() {
}
class ThreadFunctor {
public:
};
int main() {
}
2、同步操作(互斥锁 std::mutex)对需要占用的资源加锁,以防你进行写操作
别人也同时写操作,
#include
#include
#include
std::mutex mtx; // 创建互斥锁
void printBlock(int n, char c) {
}
int main() {
}
主函数实现两个线程同时 输出打印结果,通过std::mutex
实现了 每个线程占用资源的时候 进行资源锁定 以防别人同时
修改同一个数据。
3、进行异步编程。
#include
#include
int findAnswer() {
}
int main() {
}
用 std::async
和 std::future 实现的 再协程级别 进行异步并发处理。 即为 比如 一个
厨师,炒菜时候,在给我做红烧带鱼等待的时候,还给我顺手炒了个 鸡蛋青椒。
你想多美有多美

关于敲代码工具 IDE:以上都很简单 其实关键字 一敲打, 如 c++ 并发 , 代码和详细解释
直接该来的就来了,。看一遍就明白,但是不看就 永远像是一个 高深的科学 被吓着了。
你只需要一个 windows电脑
安装好了 visual studio 2022 IDE的
编辑器就行了,
其他就是拷贝里面 多 debug几次就能明白 并发 加速的思想啦。这些基本够入门嘎嘎,
其他主要的实现 计算机干活 ,全部是 这些 语言的相应功能包
std::async 的。等给
实现好了,不用自己管。
关于语言和包:
c++ 应该是 终极 的优质语言,暂时。
其实无所谓 puthon,还是go吧应该思想嗾使就这些,
包名也就这样写了基本上,没啥大的改动。个别语言可能用的字符字母有点区别罢了。
英语单词认识了基本上直接读 不是傻子就可以看懂。
编辑器IDE 只要会打开 ,就算会用,剩下的就只是多悄悄 用起来熟悉的事情罢了。
。。。。。。其他专业的 别来喷我哈哈



前一篇:c++指针、数组、函数三者一体