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, 另外一個線程將會阻塞在鎖上, 模擬實際環境中可能因鎖造成的阻塞
。另外主線程等待子線程結束也會阻塞在鎖上.