Here, we will perform the addition of a number with a 32-bit integer in a synchronized manner. Here we will use atomic.AddInt32() function. The atomic.AddInt32() function is used in synchronized manner for multithreaded/multi-process environment.
The source code to add value to a 32-bit integer in an uninterruptible manner is given below. The given program is compiled and executed on the ubuntu 18.04 operating system successfully.
// Golang program to add value to a 32-bit integer
// in an uninterruptible manner
package main
import "fmt"
import "sync/atomic"
// Entry point of the program
func main() {
var num1 int32 = 67656
var num2 int32 = -67620
res1 := atomic.AddInt32(&num1, 10)
res2 := atomic.AddInt32(&num2, 20)
fmt.Println("Result1: ", res1)
fmt.Println("Result2: ", res2)
}
Output:
Result1: 67666
Result2: -67600
Explanation:
In the above program, we declare the package main. The main package is used to tell the Go language compiler that the package must be compiled and produced the executable file. Here, we imported the required packages to predefined functions.
In the main() function, we created two 32-bit integer variables. Then we added the values to the variables using the atomic.AddInt32() function one by one. After that, we printed the result on the console screen.
Program/Source Code:
The source code to add value to a 32-bit integer in an uninterruptible manner is given below. The given program is compiled and executed on the ubuntu 18.04 operating system successfully.
Output:
Explanation:
In the above program, we declare the package main. The main package is used to tell the Go language compiler that the package must be compiled and produced the executable file. Here, we imported the required packages to predefined functions.
In the main() function, we created two 32-bit integer variables. Then we added the values to the variables using the atomic.AddInt32() function one by one. After that, we printed the result on the console screen.
need an explanation for this answer? contact us directly to get an explanation for this answer