Java基礎--第二十三天

來源:互聯網
上載者:User

標籤:

多線程:         多條執行單元

         進程:正在啟動並執行應用程式

         線程:進程的執行單元,一條執行路徑

                   迅雷下載,360清理

 

         多線程程式實現:

                   線程依賴於進程存在,Thread類

                            子類繼承

                            子類重寫run方法

                            調用strart(),讓線程啟動,調用run()方法

                                     同一個線程對象連續兩次啟動,報錯:表示該線程狀態有問題

                            getName()方法:標誌不同線程,擷取線程名稱

                            setName():更改線程名字

                   線程隨機性:

                            程式執行,搶佔CPU資源,CPU在多個程式間切換。

                  

                   第二種實現:

                            建立類,實現Runnable介面

                            重寫run方法

                            建立類的執行個體

                            把類的實現作為Thread的構造參數,建立Thread對象引用

                                     Thread.currentThread().getName()

 

                                     優勢:

                                               避免了單繼承的局限性;

                                               實現介面的方式只建立一次,更好的實現了資料與操作的分離。

                                     買票代碼:

                                               A:共用資料;兩種方式;

                                               B:賣出負數,賣出相同票--解決問題方式

                                                        【線程的隨機性和延遲性】

 

                                     找問題出處:

                                               A:看有沒有共用資料;

                                               B:看共用資料的操作是不是多條語句;

                                               C:看是不是在多線程程式中

                                               解決:把滿足條件的代碼鎖在一起  synchronized

                                     鎖對象:同步代碼塊的鎖是任意對象

                   同步方法:把鎖就在方法上---安全執行緒問題

                            this對象

                            靜態方法:類名.class   Class【位元組碼檔案】類型的對象

                   死結

                            被同步的代碼越少越好,建議使用同步代碼塊

                            若一個方法全部被同步了,就用同步方法

        

         線程間的通訊:

                   學生資訊錄入與輸出:多線程隨機性

                            錄入一個,輸出一個---同一個

                            學生 資訊錄入  資訊擷取  集中測試類別

 

Java基礎--第二十三天

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.