1. 程式人生 > 其它 >Tomcat 日誌分割.

Tomcat 日誌分割.

今天在學習多執行緒程式設計,自我總結一下

前景知識,你媽生了你們兄弟七個,你們兄弟七個都很愛玩(生了幾個不是重點啊,重點是生了不止一個)

1. 多執行緒的特點

* 無序完成 

就跟你媽放你們兄弟七個出去玩,誰先回家是不一定的。這就是多執行緒,一塊出去玩。

* 並行

跟序列最大的區別就是,你們兄弟七個可以一起出去玩,而不是讓你們一個玩完回來另一個才能出去。

 

2. 多執行緒的注意要點

* 資料競爭

你們兄弟七個手裡都拿著一個量子手機,都可以使用這個手機打字,那老大打字的時候 老二也用,那打出來的字就亂了。為什麼會亂呢,因為我們知道打一個漢字需要好幾個拼音,假如老大想打一個“我”字,老二想打一個“你”字,老大剛按下w,還沒按o呢,老二就按了n,那這樣自然就亂咯。究其原因就是這個打字的操作不具有“原子性”,就是它可以被打斷。如果說老大想打一個“哦”那就肯定會成功拉,因為就一個拼音嘛,打完個o就結束了,你老二拿什麼打斷我。

有三種資料是執行緒間共享的,分別是:全域性變數、靜態變數和共享指標。

這時候老大急了,正給女朋友發簡訊呢,老二給我打斷了。那就得保證老大打字的時候老二不能干涉,就相當於給手機加了個鎖,老大打完了再給老二用。就這樣大家都能自由而正確的使用手機打字啦。

 

這時候老七急了,niemama的,你們一個個排隊打完字了,我就輪到最後了,原本我是能和你們一起打字的,現在就淪落了?我不重要了唄?

得改。

好吧我編不下去了。

 

3. 常用的鎖

* mutex互斥鎖,就是一個乾的時候另一個等著。

* lock_guard 不用顯示的去鎖,只在作用域內起作用,就跟區域性變數一樣