Heim  >  Artikel  >  Backend-Entwicklung  >  Verwendung und Beispiele der PHP-Nachrichtenwarteschlange

Verwendung und Beispiele der PHP-Nachrichtenwarteschlange

墨辰丷
墨辰丷Original
2018-06-05 11:14:213283Durchsuche

In diesem Artikel werden hauptsächlich die Verwendung und Beispiele der PHP-Nachrichtenwarteschlange vorgestellt. Ich hoffe, dass er für alle hilfreich ist.

Diese Nachrichtenwarteschlange wird für die Prozesskommunikation unter Linux verwendet

#根据路径和后缀创建一个id
$key = ftok(__DIR__, 'R');
#获取队列中的消息
$q = msg_get_queue($key);
#删除队列
msg_remove_queue($q);
#获取队列的状态信息
$status = msg_stat_queue($q);
print_r($status);
echo "\n";
for($i=0;$i<100;$i++)
{
  /**
   * 向队列里添加消息 
   * resource $queue , int $msgtype , mixed $message [, bool $serialize = true [, bool $blocking = true [, int &$errorcode ]]]
   * $msgtype :消息的类型
   * $message : 具体的数据
   * $serialize:是否要序列化
   * $blocking: 是否阻塞 , 当队列中满时,会进行阻塞,设为非阻塞会产生一个 MSG_EAGAIN 的 错误消息
   */
  $flag = msg_send($q, 111, array(&#39;a&#39;=>1), true, false , $errorcode);
  var_dump($errorcode);
}
/**
接收消息
resource $queue , int $desiredmsgtype , int &$msgtype , int $maxsize , mixed &$message [, bool $unserialize = true [, int $flags = 0 [, int &$errorcode ]]] 
$desiredmsgtype:0表示从队列最前面开始返回数据, bigger 0:具体的某个队列
$maxsize:数据最大值,获取的消息如果》此值则出错
$msgtype:消息的具体类型, 因为$desiredmsgtype可以不指定类型,即指定为0
$flags:MSG_IPC_NOWAIT 如果队列为空直接返回(不阻塞), MSG_EXCEPT MSG_NOERROR 参见手册
*/
$data = msg_receive($q, 0, $type, 200, $msg);
var_dump($data);
echo "\n";
var_dump($type);
echo "\n";
var_dump($msg);
echo "\n";

Informationen zum Warteschlangenstatus: spezifisches Referenzhandbuch

Array
(
[msg_perm.uid] => 1015
[msg_perm.gid] => 100
[msg_perm.mode] => 438
[msg_stime] => 0
[msg_rtime] => 0
[msg_ctime] => 1411830331
[msg_qnum] => 0
[msg_qbytes] => 65536
[msg_lspid] => 0
[msg_lrpid] => 0
)

IPC wird unter verwendet Linux-Befehl zum Anzeigen, verwenden Sie den Befehl ipcrm zum Löschen

Zusammenfassung : Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er wird hilfreich sein zum Arbeitszimmer aller.

Verwandte Empfehlungen:

Detaillierte Erläuterung der Vererbung und Verwendungsbeispiele von Klassen in PHP

MSSql-Operationsklasse, gekapselt durch PHP und vollständige Beispielanalyse

Detaillierte Erläuterung des PHP+SQLite-Datenbankoperationsbeispiels

Das obige ist der detaillierte Inhalt vonVerwendung und Beispiele der PHP-Nachrichtenwarteschlange. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn