Advertisement
Guest User

Coba Sister

a guest
Nov 16th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.16 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "sync"
  5. "fmt"
  6. "math/rand"
  7. "time"
  8. )
  9.  
  10. func main (){
  11. akun[3].Name = fmt.Sprint("Penerima")
  12. akun[3].Saldo = 0
  13. var w sync.WaitGroup
  14. var m sync.Mutex
  15. for i := 0; i < 1000; i++ {
  16. w.Add(1)
  17. go increment(&w, &m, i)
  18. }
  19. w.Wait()
  20.  
  21. fmt.Println("final value of x", x)
  22. for i:= 0;i<4;i++ {
  23. fmt.Println(akun[i])
  24. }
  25. }
  26.  
  27. var x = 0
  28. var akun = [4]Bank{
  29. {
  30. Name:"Raisul",
  31. Saldo:100000,
  32. },
  33. {
  34. Name:"Fadhlan",
  35. Saldo:100000,
  36. },
  37. {
  38. Name:"Faizal",
  39. Saldo:100000,
  40. },
  41. {
  42. Name:"Ecak",
  43. Saldo:0,
  44. },
  45. }
  46.  
  47. func increment(wg *sync.WaitGroup, m *sync.Mutex, i int) {
  48.  
  49. //m.Lock()
  50. //time.Sleep(1*time.Second)
  51. x = x + 1
  52. myrand := random(0, 3)
  53. transaksi := random(0,10)
  54. fmt.Println("Random : " , myrand)
  55. fmt.Println("Transaksi : ",transaksi )
  56. akun[myrand].Saldo -= transaksi
  57. akun[3].Saldo += transaksi
  58.  
  59.  
  60. //akun[3].Saldo = akun[3].Saldo + akun[i].Saldo
  61. //akun[i].Saldo -= akun[i].Saldo
  62. //m.Unlock()
  63. wg.Done()
  64. }
  65.  
  66. type Bank struct {
  67. Name string `json:"name"`
  68. Saldo int `json:"saldo"`
  69. }
  70.  
  71. func random(min, max int) int {
  72. rand.Seed(time.Now().Unix())
  73. return rand.Intn(max - min) + min
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement