Gnoland uses a new language called Gnolang, which is an offshoot of Golang. Golang has a clear advantage over other languages when it comes to handling concurrency. While most programming languages such as C++ or Java use multithreading to run concurrent programs, Go uses Goroutines.
Multithreading is running multiple threads in parallel in a single process. This could be your browser playing music and running a search engine at the same time, or your word processing software displaying your input while checking syntax. The problem with multithreading is that it requires context switching, where the operating system scheduler manages the switch between processes and threads. This usually leads to overhead and consumes excessive resources. Goroutine, on the other hand, eases the burden on the OS by implementing a runtime local scheduler, Go Scheduler, Goroutines seem to consume less memory for creation and destruction (as low as 0.2% of threads) and take advantage of all the cores of the hardware.
Almost all existing blockchains are single-threaded, which means that processing multiple transactions at the same time will lead to conflicts between double flowers or states.
Gnoland offers the most viable solution for this, namely integrating goroutine by supporting Golang as a smart contract language.
