1.一種生產(chǎn)者消費者模式優(yōu)化方法,其特征在于,包括:
若生產(chǎn)者進程嘗試寫入新數(shù)據(jù),則確定當(dāng)前生產(chǎn)者進程上是否擁有空消息緩沖單元,若當(dāng)前生產(chǎn)者進程擁有空消息緩沖單元,則通過生產(chǎn)者進程向空消息緩沖單元中寫入新數(shù)據(jù),得到相應(yīng)的數(shù)據(jù)消息,并將得到的數(shù)據(jù)消息發(fā)送至消費者進程;
若消費者進程嘗試取出數(shù)據(jù),則確定當(dāng)前消費者進程上是否擁有生產(chǎn)者進程發(fā)送的數(shù)據(jù)消息,若當(dāng)前消費者進程擁有生產(chǎn)者進程發(fā)送的數(shù)據(jù)消息,則通過消費者進程從數(shù)據(jù)消息中提取出相應(yīng)的數(shù)據(jù),并得到相應(yīng)的空消息緩沖單元,然后將得到的空消息緩沖單元傳遞至生產(chǎn)者進程;
其中,在初始化階段,通過消費者進程將目標(biāo)緩沖區(qū)中的所有空消息緩沖單元傳遞至生產(chǎn)者進程。
2.根據(jù)權(quán)利要求1所述的生產(chǎn)者消費者模式優(yōu)化方法,其特征在于,所述確定當(dāng)前生產(chǎn)者進程上是否擁有消費者進程發(fā)送的空消息緩沖單元的過程之后,還包括:
若當(dāng)前生產(chǎn)者進程未擁有空消息緩沖單元,則控制生產(chǎn)者進程進入等待過程,以等待消費者進程向生產(chǎn)者進程傳遞空消息緩沖單元。
3.根據(jù)權(quán)利要求1所述的生產(chǎn)者消費者模式優(yōu)化方法,其特征在于,所述確定當(dāng)前消費者進程上是否擁有生產(chǎn)者進程發(fā)送的數(shù)據(jù)消息的過程,包括:
若當(dāng)前消費者進程未擁有生產(chǎn)者進程發(fā)送的數(shù)據(jù)消息,則控制消費者進程進入等待過程,以等待生產(chǎn)者進程向消費者進程發(fā)送數(shù)據(jù)消息。
4.一種生產(chǎn)者消費者模式優(yōu)化系統(tǒng),其特征在于,包括:
生產(chǎn)者管理模塊,用于當(dāng)生產(chǎn)者進程嘗試寫入新數(shù)據(jù),則確定當(dāng)前生產(chǎn)者進程上是否擁有空消息緩沖單元,若當(dāng)前生產(chǎn)者進程擁有空消息緩沖單元,則通過生產(chǎn)者進程向空消息緩沖單元中寫入新數(shù)據(jù),得到相應(yīng)的數(shù)據(jù)消息,并將得到的數(shù)據(jù)消息發(fā)送至消費者進程;
消費者管理模塊,用于當(dāng)消費者進程嘗試取出數(shù)據(jù),則確定當(dāng)前消費者進程上是否擁有生產(chǎn)者進程發(fā)送的數(shù)據(jù)消息,若當(dāng)前消費者進程擁有生產(chǎn)者進程發(fā)送的數(shù)據(jù)消息,則通過消費者進程從數(shù)據(jù)消息中提取出相應(yīng)的數(shù)據(jù),并得到相應(yīng)的空消息緩沖單元,然后將得到的空消息緩沖單元傳遞至生產(chǎn)者進程;
其中,所述消費者管理模塊,還用于在初始化階段,通過消費者進程將目標(biāo)緩沖區(qū)中的所有空消息緩沖單元傳遞至生產(chǎn)者進程。
5.根據(jù)權(quán)利要求4所述的生產(chǎn)者消費者模式優(yōu)化系統(tǒng),其特征在于,
所述生產(chǎn)者管理模塊,還用于在生產(chǎn)者進程嘗試寫入新數(shù)據(jù)的情況下,若當(dāng)前生產(chǎn)者進程未擁有空消息緩沖單元,則控制生產(chǎn)者進程進入等待過程,以等待消費者進程向生產(chǎn)者進程傳遞空消息緩沖單元。
6.根據(jù)權(quán)利要求4所述的生產(chǎn)者消費者模式優(yōu)化系統(tǒng),其特征在于,
所述消費者管理模塊,還用于在消費者進程嘗試取出數(shù)據(jù)的情況下,若當(dāng)前消費者進程未擁有生產(chǎn)者進程發(fā)送的數(shù)據(jù)消息,則控制消費者進程進入等待過程,以等待生產(chǎn)者進程向消費者進程發(fā)送數(shù)據(jù)消息。