gitee.com/quant1x/gox@v1.7.6/progressbar/demo/main.go (about)

     1  package main
     2  
     3  import (
     4  	"sync"
     5  	"time"
     6  
     7  	pgbar "gitee.com/quant1x/gox/progressbar"
     8  )
     9  
    10  func main() {
    11  	b := pgbar.NewBar(1, "1st", 20000)
    12  	b2 := pgbar.NewBar(2, "2st", 10000)
    13  	b3 := pgbar.NewBar(3, "3st", 30000)
    14  
    15  	b.SetSpeedSection(900, 100)
    16  	b2.SetSpeedSection(900, 100)
    17  	b3.SetSpeedSection(900, 100)
    18  
    19  	b4 := pgbar.NewBar(0, "4st", 4000*3)
    20  	var wg sync.WaitGroup
    21  	wg.Add(4)
    22  	go func() {
    23  		defer wg.Done()
    24  		for i := 0; i < 20000; i++ {
    25  			b.Add()
    26  			time.Sleep(time.Second / 2000)
    27  		}
    28  	}()
    29  
    30  	go func() {
    31  		defer wg.Done()
    32  		for i := 0; i < 10000; i++ {
    33  			b2.Add()
    34  			time.Sleep(time.Second / 1000)
    35  		}
    36  	}()
    37  	go func() {
    38  		defer wg.Done()
    39  		for i := 0; i < 30000; i++ {
    40  			b3.Add()
    41  			time.Sleep(time.Second / 3000)
    42  		}
    43  	}()
    44  
    45  	go func() {
    46  		defer wg.Done()
    47  		for i := 0; i < 4000; i++ {
    48  			b4.Add(3)
    49  			time.Sleep(time.Second / 300)
    50  		}
    51  	}()
    52  	wg.Wait()
    53  }