1.引言在并發編程中我們有時候需要使用線程安全的隊列。如果我們要實現一個線程安全的隊列有兩種實現方式:一種是使用阻塞算法,另一種是使用非阻塞算法。使用阻塞算法的隊列可以用一個鎖(入隊和出隊用同一把鎖)或兩個鎖(入隊和出隊用不同的鎖)等方式來實現,而非阻塞的實現方式則可以使用循環CAS的方式來實現,本文讓我們一起來研究下DougLea是如何使用非阻塞的方式來實現線程安全隊列ConcurrentLinkedQueue的,相信從大師身上我們能學到不少并發編程的技
系統 2019-08-29 22:40:24 1764
今天是我在外包公司上班的第二天,由于項目還在籌劃中,沒有正式的開始,所以這幾天比較清閑。說實在的,自己其實很不看好外包公司,但由于一些原因還是選擇了外包公司,因此心里有點不踏實的感覺。聽身邊的人說,外包工作很累很累。我沒有嘗試過,所以說不出來有多累,現在唯一做的就是熟悉以前的技術,為后面受苦的日子做準備。在這個公司以后的路到底怎么樣,我心里沒底,也許會比我期望的差的還遠,也許也沒有想象的那么壞。現在唯一做的就是,盡一切努力做好自己,期待。。。。。。走進外包
系統 2019-08-29 21:58:34 1764
華為2019在線筆試題,現整理如下,以供之后參考GitHub題目介紹##################################################################################################################################'''題目描述:--對輸入字符串檢查是否存在非法字符,輸出合法字符串(去重)和非法字符串(不去重)--對合法字符串循環左移10次,在
系統 2019-09-27 17:56:56 1763
片頭語:因為工作需要,在CentOS上搭建環境MySQL+Python+MySQLdb,個人比較習慣使用Windows系統的操作習慣,對純字符的OS暫時還不太習慣,所以,希望能在Windows系統上也搭建一個類似的環境,用于開發。下面介紹的是在Windows環境下編譯MySQLdb的過程。補充一句:最近在網上搜索到一個MySQLdb的Windows安裝包,使用起來會更方便一些,地址:http://www.codegood.com/archives/4或者到
系統 2019-09-27 17:56:27 1763
在幫朋友解決這個問題后,隨便記錄一下這三種方法:第一種方法:使用正則表達式:因為當時的要求是判定10.0.0.1到10.255.255.255,原理其實是一樣。這里簡單回顧一下正則表達式模式的內容:常見的如:\d可以表示0~9的任意一個數字字符而\D是匹配一個非數字字符等價于^^是匹配字符串的開頭,但放在[]中表示匹配不在[]中的字符$是匹配字符串的末尾.是匹配除了換行符任意字符{}表示重復幾次,例如:^a{2,4}$aa,aaa或aaaa|的是或的意思[
系統 2019-09-27 17:55:59 1763
這篇文章將解除你使用python的pipinstallxxx受到的網速限制,如果只是下載較小的第三方庫,可以嘗試pip--default-timeout=100install-Uxxx。一、Windows找到python安裝目錄下的:\Lib\site-packages\pip\models\index.py文件,將PYPI的值改為你所需要的鏡像源即可,例如改為豆瓣鏡像源:#PyPI=Index('https://pypi.python.org/')PyP
系統 2019-09-27 17:55:57 1763
最近在用python寫接口的測試程序,期間用到解析字典獲取某個key的value,由于多個接口返回的字典格式不是固定的并存在多層嵌套的情況。在字典的方法中也沒有找到可直接達到目的的方法(也可能是我對字典的方法了解的不深的緣故),于是自己寫了個程序。下面是代碼#coding:utf-8importtypes#獲取字典中的objkey對應的值,適用于字典嵌套#dict:字典#objkey:目標key#default:找不到時返回的默認值defdict_get(
系統 2019-09-27 17:55:32 1763
閱讀更多文件名全小寫,可使用下劃線包應該是簡短的、小寫的名字。如果下劃線可以改善可讀性可以加入。如mypackage。模塊與包的規范同。如mymodule。類總是使用首字母大寫單詞串。如MyClass。內部類可以使用額外的前導下劃線。函數&方法函數名應該為小寫,可以用下劃線風格單詞以增加可讀性。如:myfunction,my_example_function。*注意*:混合大小寫僅被允許用于這種風格已經占據優勢的時候,以便保持向后兼容。函數和方法的參數總使
系統 2019-09-27 17:55:28 1763
用Python來編寫網站,必須要能夠通過python操作數據庫,所謂操作數據庫,就是通過python實現對數據的連接,以及對記錄、字段的各種操作。上一講提到的那種操作方式,是看官直接通過交互模式來操作數據庫。安裝python-MySQLdb要想通過python來操作數據庫,還需要在已經安裝了mysql的基礎上安裝一個稱之為mysqldb的庫,它是一個接口程序,python通過它對mysql數據實現各種操作。在編程中,會遇到很多類似的接口程序,通過接口程序對
系統 2019-09-27 17:54:55 1763
前言今天我們再說一下pytest框架和unittest框架相同的fixture的使用,了解unittest的同學應該知道我們在初始化環境和銷毀工作時,unittest使用的是setUp,tearDown方法,那么在pytest框架中同樣存在類似的方法,今天我們就來具體說明。先附上官方文檔的一段說明1.每個級別的setup/teardown都可以多次復用2.如果相應的初始化函數執行失敗或者被跳過則不會執行teardown方法3.在pytest4.2之前,xu
系統 2019-09-27 17:54:40 1763