deepE介绍
deepE是一个开源的用于端侧(自动驾驶车,机器人)等环境的系统问题与性能分析工具。基于ebpf功能实现
deepE项目地址 欢迎star
测试程序
#include <iostream>
#include <thread>
#include <mutex>
static std::mutex lock;
void func1() {
int loop = 5;
std::lock_guard<std::mutex> l(lock);
while (loop--) {
std::this_thread::sleep_for(std::chrono::milliseconds(1000));
}
return;
}
void func2() {
std::lock_guard<std::mutex> l(lock);
std::cout << "get lock success" << std::endl;
}
int main() {
std::thread t1(func1);
std::this_thread::sleep_for(std::chrono::milliseconds(1000));
std::thread t2(func2);
t1.join();
t2.join();
}
我们构造两个线程,其中一个线程在加锁状态下sleep 5s, 另外一个线程将会阻塞在锁上, 模拟实际环境中可能因锁造成的阻塞
。另外主线程等待子线程结束也会阻塞在锁上.