整理一下去年踩過的坑

2021-10-25 17:41:47 字數 356 閱讀 9382

1.vector執行緒不安全

a執行緒在使用例如for (vector::iterator iter=ivec.begin();iter!=ivec.end();iter++)這樣的迴圈對vector進行處理時,b執行緒向該vector中插入了乙個新的元素,由於剛好遇到了重新申請記憶體&複製vector的操作,導致a執行緒中的迭代器失效,現象表現為變成了死迴圈,a執行緒卡死。

解決方法:加鎖。

或許還可以參考這個知乎問題c++ stl容器如何解決執行緒安全的問題?下的回答。

2.函式引用傳參,但是呼叫函式時傳入的不是引用而是變數本身,導致出乎意料的超多記憶體拷貝開銷。

3.雙核同時讀寫同乙份資料,導致結果錯誤。

聊一下去招聘會的感受

招聘會是很多公司一起來我們學校進行招聘,有一點像以前的人才市場一樣。實際上招聘會還是很好玩的,可以了解到很多東西。我去招聘會的話就是一家一家的看,看到那家還可以就上去投簡歷,跟hr了解一下,可以問一下你要應聘的職位是什麼情況,公司的一些情況,這比你去網上了解好多了。還有就是看到還可以的就上,不要猶豫...

Python Scrapy 爬蟲踩過的坑(一)

一 debug crawled 200 具體報錯資訊如下圖所示 1.200為http 狀態碼,代表訪問ok。2.但是設定的正則的返回的爬取資訊為 也有可能是正規表示式的設定出錯 js介面的原因 二 overridden setting 主要報錯資訊如下圖所示 建立爬蟲檔案的時候,scrapy gen...

linux下踩過的坑 持續更新

常會遇到 bash command not found的問題。原因是沒有在全域性配置命令。下面提供兩種解決方法 解決方法是直接進到對應的包中使用命令。以nginx為例 whereis nginx 直接搜尋到包路徑 一般是在usr local下 cd usr local nginx sbin ngin...