class_docstr: Snapshot writer that uses process queue.
  
  This class creates a process and a queue by :mod:`multiprocessing` module.
  The process will be a consumer of this queue, and the main process will be
  a producer of this queue.
  
  .. note::
      Forking a new process from MPI process might be danger. Consider using
      :class:`ThreadQueueWriter` instead of ``ProcessQueueWriter`` if you are
      using MPI.
  
  .. seealso::
  
      - :meth:`chainer.training.extensions.snapshot`
code: def __init__(self, savefun=npz.save_npz, task=None):
      super(ProcessQueueWriter, self).__init__(
          savefun=savefun, task=task
      )
  
imports: import multiprocessing
  import os
  import shutil
  import threading
  from six.moves import queue
  from chainer.serializers import npz
  from chainer import utils
label_desc: Use image node_id 1 to create a new ProcessQueueWriter object from inherited base classes: QueueWriter with example: obj = ProcessQueueWriter(savefun, task)