MessageWorker的进程数是指为4,同一条redis数据就会被重复读取,有时候显示1条,有时候2条,3条。但把$worker->count改成1就只读1条了,不会重复。这是为什么呢?谢谢
$worker = new MessageWorker(); $worker->name = 'MessageWorker'; $worker->count = 4;
正常,多进程读取外部存储可能会有并发发生,典型的并发读也叫脏读,所以这种情形需要考虑加锁; 相反单进程不会有这个现象。
正常,多进程读取外部存储可能会有并发发生,典型的并发读也叫脏读,所以这种情形需要考虑加锁;
相反单进程不会有这个现象。