亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種生產(chǎn)者消費者模式優(yōu)化方法及系統(tǒng)與流程

文檔序號:11154224閱讀:來源:國知局

技術(shù)特征:

1.一種生產(chǎn)者消費者模式優(yōu)化方法,其特征在于,包括:

將當前緩沖區(qū)中已寫滿數(shù)據(jù)的區(qū)域長度以及空閑的區(qū)域長度分別賦值給預(yù)設(shè)的信號量full和信號量empty;

若生產(chǎn)者進程嘗試向所述緩沖區(qū)中寫入新數(shù)據(jù),則對信號量empty和預(yù)設(shè)的信號量mutex進行判斷,并根據(jù)判斷結(jié)果決定是否允許生產(chǎn)者進程向所述緩沖區(qū)寫入新數(shù)據(jù);

若消費者進程嘗試從所述緩沖區(qū)中取出數(shù)據(jù),則對信號量full和信號量mutex進行判斷,并根據(jù)判斷結(jié)果決定是否允許消費者進程從所述緩沖區(qū)中取出數(shù)據(jù);

其中,若信號量mutex為1,則表示當前所述緩沖區(qū)未被任何進程占用,若信號量mutex為0,則表示當前所述緩沖區(qū)已被生產(chǎn)者進程或消費者進程占用。

2.根據(jù)權(quán)利要求1所述的生產(chǎn)者消費者模式優(yōu)化方法,其特征在于,所述對信號量empty和預(yù)設(shè)的信號量mutex進行判斷,并根據(jù)判斷結(jié)果決定是否允許生產(chǎn)者進程向所述緩沖區(qū)寫入新數(shù)據(jù)的過程,包括:

判斷當前信號量empty是否大于0,并且判斷信號量mutex是否為1;

如果當前信號量empty大于0,并且信號量mutex為1,則將信號量mutex設(shè)為0,并通過生產(chǎn)者進程將新數(shù)據(jù)寫入所述緩沖區(qū),在本次數(shù)據(jù)寫入操作結(jié)束之后將信號量mutex重新設(shè)為1;

如果當前信號量empty為0和/或信號量mutex為0,則禁止生產(chǎn)者進程向所述緩沖區(qū)中寫入新數(shù)據(jù)。

3.根據(jù)權(quán)利要求2所述的生產(chǎn)者消費者模式優(yōu)化方法,其特征在于,

在生產(chǎn)者進程每向所述緩沖區(qū)寫入一個新數(shù)據(jù)的過程之前,均包括:

將當前信號量empty的具體數(shù)值減1;

在生產(chǎn)者進程每向所述緩沖區(qū)寫入一個新數(shù)據(jù)的過程之后,均包括:

將當前信號量full的具體數(shù)值加1。

4.根據(jù)權(quán)利要求1至3任一項所述的生產(chǎn)者消費者模式優(yōu)化方法,其特征在于,所述對信號量full和信號量mutex進行判斷,并根據(jù)判斷結(jié)果決定是否允許消費者進程從所述緩沖區(qū)中取出數(shù)據(jù)的過程,包括:

判斷當前信號量full是否大于0,并且判斷信號量mutex是否為1;

如果當前信號量full大于0,并且信號量mutex為1,則將信號量設(shè)為0,并通過消費者進程從所述緩沖區(qū)中取出數(shù)據(jù),在本次數(shù)據(jù)取出操作之后將信號量mutex重新設(shè)為1;

如果當前信號量full為0和/或信號量mutex為0,則禁止消費者進程從所述緩沖區(qū)中取出數(shù)據(jù)。

5.根據(jù)權(quán)利要求4所述的生產(chǎn)者消費者模式優(yōu)化方法,其特征在于,

在消費者進程每從所述緩沖區(qū)取出一個數(shù)據(jù)的過程之前,均包括:

將當前信號量full的具體數(shù)值減1;

在消費者進程每從所述緩沖區(qū)取出一個數(shù)據(jù)的過程之后,均包括:

將當前信號量empty的具體數(shù)據(jù)值加1。

6.一種生產(chǎn)者消費者模式優(yōu)化系統(tǒng),其特征在于,包括:

信號量賦值模塊,用于將當前緩沖區(qū)中已寫滿數(shù)據(jù)的區(qū)域長度以及空閑的區(qū)域長度分別賦值給預(yù)設(shè)的信號量full和信號量empty;

生產(chǎn)者管理模塊,用于當生產(chǎn)者進程嘗試向所述緩沖區(qū)中寫入新數(shù)據(jù),則對信號量empty和預(yù)設(shè)的信號量mutex進行判斷,并根據(jù)判斷結(jié)果決定是否允許生產(chǎn)者進程向所述緩沖區(qū)寫入新數(shù)據(jù);

消費者管理模塊,用于當消費者進程嘗試從所述緩沖區(qū)中取出數(shù)據(jù),則對信號量full和信號量mutex進行判斷,并根據(jù)判斷結(jié)果決定是否允許消費者進程從所述緩沖區(qū)中取出數(shù)據(jù);

其中,若信號量mutex為1,則表示當前所述緩沖區(qū)未被任何進程占用,若信號量mutex為0,則表示當前所述緩沖區(qū)已被生產(chǎn)者進程或消費者進程占用。

7.根據(jù)權(quán)利要求6所述的生產(chǎn)者消費者模式優(yōu)化系統(tǒng),其特征在于,所述生產(chǎn)者管理模塊,包括:

第一判斷單元,用于當生產(chǎn)者進程嘗試向所述緩沖區(qū)中寫入新數(shù)據(jù),則判斷當前信號量empty是否大于0,并且判斷信號量mutex是否為1;

第一生產(chǎn)者管理單元,用于當所述第一判斷單元判斷出當前信號量empty大于0,并且信號量mutex為1,則將信號量mutex設(shè)為0,并通過生產(chǎn)者進程將新數(shù)據(jù)寫入所述緩沖區(qū),在本次數(shù)據(jù)寫入操作結(jié)束之后將信號量mutex重新設(shè)為1;

第二生產(chǎn)者管理單元,用于當所述第一判斷單元判斷出當前信號量empty為0和/或信號量mutex為0,則禁止生產(chǎn)者進程向所述緩沖區(qū)中寫入新數(shù)據(jù)。

8.根據(jù)權(quán)利要求7所述的生產(chǎn)者消費者模式優(yōu)化系統(tǒng),其特征在于,

所述第一生產(chǎn)者管理單元在生產(chǎn)者進程每向所述緩沖區(qū)寫入一個新數(shù)據(jù)的過程之前,均將當前信號量empty的具體數(shù)值減1,以及在生產(chǎn)者進程每向所述緩沖區(qū)寫入一個新數(shù)據(jù)的過程之后,均將當前信號量full的具體數(shù)值加1。

9.根據(jù)權(quán)利要求6至8任一項所述的生產(chǎn)者消費者模式優(yōu)化系統(tǒng),其特征在于,所述消費者管理模塊,包括:

第二判斷單元,用于當消費者進程嘗試從所述緩沖區(qū)中取出數(shù)據(jù),則判斷當前信號量full是否大于0,并且判斷信號量mutex是否為1;

第一消費者管理單元,用于當所述第二判斷單元判斷出當前信號量full大于0,并且信號量mutex為1,則將信號量設(shè)為0,并通過消費者進程從所述緩沖區(qū)中取出數(shù)據(jù),在本次數(shù)據(jù)取出操作之后將信號量mutex重新設(shè)為1;

第二消費者管理單元,用于當所述第二判斷單元判斷出當前信號量full為0和/或信號量mutex為0,則禁止消費者進程從所述緩沖區(qū)中取出數(shù)據(jù)。

10.根據(jù)權(quán)利要求9所述的生產(chǎn)者消費者模式優(yōu)化系統(tǒng),其特征在于,

所述第一消費者管理單元在消費者進程每從所述緩沖區(qū)取出一個數(shù)據(jù)的過程之前,均將當前信號量full的具體數(shù)值減1,以及在消費者進程每從所述緩沖區(qū)取出一個數(shù)據(jù)的過程之后,均將當前信號量empty的具體數(shù)據(jù)值加1。

當前第2頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1