MessageWorker的進(jìn)程數(shù)是指為4,同一條redis數(shù)據(jù)就會被重復(fù)讀取,有時候顯示1條,有時候2條,3條。但把$worker->count改成1就只讀1條了,不會重復(fù)。這是為什么呢?謝謝
$worker = new MessageWorker();
$worker->name = 'MessageWorker';
$worker->count = 4;
正常,多進(jìn)程讀取外部存儲可能會有并發(fā)發(fā)生,典型的并發(fā)讀也叫臟讀,所以這種情形需要考慮加鎖;
相反單進(jìn)程不會有這個現(xiàn)象。