code: func newTxSenderCacher(threads int) *txSenderCacher {
  	cacher := &txSenderCacher{
  		tasks:   make(chan *txSenderCacherRequest, threads),
  		threads: threads,
  	}
  	for i := 0; i < threads; i++ {
  		go cacher.cache()
  	}
  	return cacher
  }
docs: // newTxSenderCacher creates a new transaction sender background cacher and starts
  // as many processing goroutines as allowed by the GOMAXPROCS on construction.