class_docstr: ScreenGear is designed exclusively for targeting rapid Screencasting Capabilities, which means it can
  grab frames from your monitor in real-time, either by defining an area on the computer screen or full-screen,
  at the expense of inconsiderable latency. ScreenGear also seamlessly support frame capturing from multiple
  monitors as well as supports multiple backends.
  
  ScreenGear API implements a multi-threaded wrapper around dxcam, pyscreenshot, python-mss python library,
  and also flexibly supports its internal parameter.
docstr: Safely terminates the thread, and release the resources.
docstr_tok: ["Safely","terminates","the","thread",",","and","release","the","resources","."]
code: def stop(self):
      """
      Safely terminates the thread, and release the resources.
      """
      self.__logging and logger.debug(
          "Terminating ScreenGear Processes."
      )
  
      # indicate that the thread should be terminate
      self.__terminate.set()
  
      # wait until stream resources are released (producer thread might be still grabbing frame)
      if self.__thread is not None:
          self.__thread.join()
  
file_path: vidgear/vidgear/gears/screengear.py
imports: import cv2
  import json
  import platform
  import numpy
  import logging
  from threading import Thread, Event
  from collections import OrderedDict
  from .helper import import_dependency_safe, capPropId, logger_handler, logcurr_vidgear_ver
label_desc: Use image node_id 5 for calling the ScreenGear obj's underlying member method code with example usage: obj.stop() without return types