關於阻塞佇列 生產者消費者模式用於資訊上傳的案例

2021-08-22 09:58:41 字數 1426 閱讀 8714

public class uploadinfobiz extends basebiz

return instance;

}public void start()

}public void stop()

/***  接受處理資料並放入佇列

* @param jsonreq  json

* @return

* @throws invalidkeyexception

* @throws nosuchalgorithmexception

* @throws nosuchpaddingexception

* @throws illegalblocksizeexception

* @throws badpaddingexception

* @throws unsupportedencodingexception

* @throws dbacces***ception

*/public jsonobject uploadlist(uploadinfo uploadinfo) throws invalidkeyexception, nosuchalgorithmexception, nosuchpaddingexception, illegalblocksizeexception, badpaddingexception, unsupportedencodingexception, dbacces***ception

public void putuploadmessage(uploadinfo uploadinfo) catch (interruptedexception e)

}/**

* 資料從佇列取出的方法

*/public class newuploadtask implements runnable

dealwithinfo(num);  //從佇列裡拿出資料

uploadinfo uploadinfo = uploadlist.take(); //阻塞佇列

uploadlist.put(uploadinfo);

} catch (exception e)     

}    

}}    

/***  資料從佇列拿出並處理

*/@transactional

public void dealwithinfo(int num) ;

} catch (interruptedexception e) catch (runtimeexception e) catch (sqlexception e) catch (exception e)     

}/**

* 資料儲存到資料庫

*/public int uploaddata(uploadinfo uploadinfo) throws sqlexception,exception   

}

生產者消費者 生產者與消費者模式

一 什麼是生產者與消費者模式 其實生產者與消費者模式就是乙個多執行緒併發協作的模式,在這個模式中呢,一部分執行緒被用於去生產資料,另一部分執行緒去處理資料,於是便有了形象的生產者與消費者了。而為了更好的優化生產者與消費者的關係,便設立乙個緩衝區,也就相當於乙個資料倉儲,當生產者生產資料時鎖住倉庫,不...

阻塞佇列之生產者與消費者

前段時間因為專案中對生產者與消費者的需求,故整理了一下對阻塞佇列。不說了,直接上 public class blockingqueuetest public void run catch interruptedexception e public void shutdown 消費者 public s...

生產者 消費者模式

一 我哥們把資料存入redis快取區 生產者 二 我從緩衝器取資料,並作處理!消費者 詳細 如下 取訂單並判斷 redis new redis conn flag redis connect redis translate usefull host,redis translate usefull p...