欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql阻塞查詢,多線程消息隊(duì)列

mysql阻塞查詢,多線程消息隊(duì)列?

看什么情況下使用,方法很多。

如果調(diào)用頻度不高,我做量化分析程序一般是用c++啟用python進(jìn)程,用的pypy速度快點(diǎn),pypy生成結(jié)果到redis或mysql的內(nèi)存表中,調(diào)用結(jié)束后c++去redis或mysql的內(nèi)存表中取出來(lái),你也可以使用文件寫入來(lái)完成,但文件寫入容易出現(xiàn)不同步問(wèn)題,不想用網(wǎng)絡(luò)版的,可以用sqlite寫入結(jié)果,再在另外一個(gè)程序用sqlite讀取。如果類似互聯(lián)網(wǎng)業(yè)務(wù),可以使用消息隊(duì)列,消息服務(wù)器通信。如果你的程序需要線程安全,需要臨界區(qū)保護(hù),最好用消息隊(duì)列這種支持多線程多進(jìn)程同時(shí)訪問(wèn),消息隊(duì)列比數(shù)據(jù)庫(kù)存儲(chǔ)要快,但沒(méi)有數(shù)據(jù)庫(kù)方便。

有個(gè)c++版的本機(jī)版vedis,高仿redis的嵌入版,你可以用這個(gè)初期開發(fā),如果需要切換到redis,很容易修改vedis成redis,ssdb可以把redis落地存儲(chǔ),ssdb是高仿redis的存儲(chǔ)版。

如果沒(méi)有數(shù)據(jù)存儲(chǔ),可以使用socket通信,或用多進(jìn)程通信,如chrome是多進(jìn)程的,通信用的命名管道(Named Pipe),多語(yǔ)言之間調(diào)用理論上可以用這個(gè)。命名管道要比消息隊(duì)列快,但需要自己定制。調(diào)用方法的協(xié)議,可以使用json來(lái)完成,這樣n多語(yǔ)言都可以通用,如果追求性能可能使用二進(jìn)制通信協(xié)議。

python調(diào)用c語(yǔ)言方法也很成熟,但需要自己寫一些代碼包裝一下,需要防止內(nèi)存泄漏,多線程同步,阻塞,異常等問(wèn)題。