在多線程狀況下出現錯誤碼28 是由於沒有調用全局初始化函數html
static int GlobleInit();//全局初始化,主程序調用一次,只能一次
static void GlobleFint();編程
int CHttpClient::GlobleInit()//全局初始化,主程序調用一次
{
return curl_global_init(CURL_GLOBAL_ALL);
}
void CHttpClient::GlobleFint()
{
curl_global_cleanup();
}安全
在調應libcurl庫中其餘函數以前,必須先調用這個函數對編程環境進行相應的初始化,使每一個程序調用libcurl庫函數都具備相同的效果。這個按位組合選擇的整形(int)變量能夠精確告訴libcurl當下的須要的工做模式。詳細狀況,若是你不是十分熟悉總體參數的初始化,您能夠設置參數爲CURL_GLOABL_ALL。對全部的須要用到的環境進行初始化,這個函數不是安全線程,在多線程應用中,須要在主線程中調用這個函數。這個函數設置libcurl所需的環境。一般狀況,若是不顯式的調用它,第一次調用 curl_easy_init()時,curl_easy_init 會調用 curl_global_init,在單線程環境下,這不是問題。可是多線程下就不行了,由於curl_global_init不是線程安全的。在多個線 程中調用curl_easy_int,而後若是兩個線程同時發現curl_global_init尚未被調用,同時調用 curl_global_init,悲劇就發生了。這種狀況發生的機率很小,但可能性是存在的。多線程
本身編了一個股票監控軟件,有以下功能,有興趣的朋友能夠下載;curl
(1) 個股監測。監測個股實時變化,能夠監測個股大單交易、急速拉昇和降低、主力入場和出場、股票最高點和最低點提醒。檢測到最高點、最低點、主力進場點、主力退場點、急速拉昇點、急速下跌點,給出語音或者聲音提醒,不用再時刻看着大盤了,給你更多自由的時間;函數
(2) 大盤監測。監測大盤的走勢,採用上證、深證、創業三大指數的綜合指數做爲大盤走勢。並實時監測大盤的最高點和最低點、中間的轉折點。url
(3) 股票推薦。還能根據歷史數據長期或短時間走勢進行分析,對股市3千多個股票進行分析對比,選出漲勢良好的股票,按照增加速度從大到小排序,推薦給你漲勢良好的股票;線程
下載地址:htm
1.0.3版本(修復大盤指數崩潰缺陷)下載地址:blog
連接:https://pan.baidu.com/s/1BJcTp-kdniM7VE9K5Kd3vg 提取碼:003h
更新連接:
https://www.cnblogs.com/bclshuai/p/10621613.html