執行緒同步問題分析

2021-09-26 19:34:47 字數 740 閱讀 6002

//在多執行緒的處理中,可以利用runnable描述多個執行緒操作的資源,而thread描述每乙個執行緒物件,於是當多個執行緒

//訪問統一資源的時候如果處理不當就會產生資料的錯誤操作。

//模擬乙個賣票程式,將建立若干個執行緒物件實現賣票的處理操作。

package cn.pjy.demo;

//在多執行緒的處理中,可以利用runnable描述多個執行緒操作的資源,而thread描述每乙個執行緒物件,於是當多個執行緒

//訪問統一資源的時候如果處理不當就會產生資料的錯誤操作。

//模擬乙個賣票程式,將建立若干個執行緒物件實現賣票的處理操作。

class mythread6 implements runnable catch (interruptedexception e)

system.out.println(thread.currentthread().getname() + "賣票, ticket = " + this.ticket --);

}else

} }}public class threaddemo6

//此時的程式將建立三個程式執行緒,並且三個執行緒物件將進行5張票的**,此時的程式進行賣票處理的時候並沒有任何的問題,但這只是一種假象

//模擬賣票中的延遲操作。

}

賣票處理:

執行緒同步問題分析

我們先看乙個例子 1 三個執行緒同時執行乙個物件中的run方法。我的想法是賣100張票,當ticket 0的時候,就不再賣票了,也就是ticket不再減少了。但是執行結果非常奇怪。package com.huai.test public class threadtest1 implements ru...

執行緒同步問題

昨天簡單研究了一點執行緒的同步問題 package com.pb.thread public class waymakethread 建立乙個執行緒,繼承thread類 class mythread extends thread 建立乙個類,實現runable介面,這不是乙個執行緒類 class m...

執行緒同步問題

多個執行緒在執行的過程中的不確定性引起執行結構的不穩定,同時多個執行緒對同一資料的共享操作,造成操作的不完整性,破壞資料。當某個執行緒在操作車票過程中,尚未操作完成時,其他執行緒也參與進來,操作車票,使車票的資料共享,出現執行緒安全問題。那麼可以通過同步 塊和同步方法的方式來解決執行緒安全問題,實現...