
使用多個thread 呼叫system() .命令是使用sendxml這個程式 發送test.xml。 sendxml這個程式就是最簡單的tcp client發送東西。
測驗發現并不能像別的并發軟體那樣測出服務器在高并發下存在業務邏輯bug。
uj5u.com熱心網友回復:
#include <iostream>
#include <thread>
#include <stdio.h>
#include <stdlib.h>
void test_send(int _nID)
{
for(int ii =0; ii<30; ii++)
{
system("/home/demo/bin/sendxml test.xml");
}
}
int main(void)
{
std::thread t1(test_send,1);
t1.detach();
std::thread t2(test_send,2);
t2.detach();
std::thread t3(test_send,3);
t3.detach();
std::thread t4(test_send,4);
t4.detach();
std::thread t5(test_send,4);
t5.detach();
std::thread t6(test_send,4);
t6.detach();
std::thread t7(test_send,4);
t7.detach();
std::thread t8(test_send,4);
t8.join();
return 0;
}
代碼如上, 執行的時候 ps -ef能看到多個行程在跑
uj5u.com熱心網友回復:
對競爭資源只讀,不存在沖突。uj5u.com熱心網友回復:
你服務器存在怎樣的缺陷,讓你覺得這個測驗用例可以發現 bug ?另外高并發這個...你10個實在太少,并達不到高并發的條件
uj5u.com熱心網友回復:
這是1個執行緒for回圈30次吧。 就是存在例如更改某個值的狀態。并發就改錯了了。 別人用的不知道什么工具,就說一次發兩條,每次都精準測出這個問題。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/270028.html
標籤:C++ 語言
上一篇:C語言字串連接
