Repository logo
 

AN EMPIRICAL STUDY OF CONCURRENT FEATURE USAGE IN GO

Loading...
Thumbnail Image

Date

2022-12-05

Authors

Tipirneni, Dhana Srimanthini

Journal Title

Journal ISSN

Volume Title

Publisher

East Carolina University

Abstract

The Go language includes support for running functions or methods concurrently as goroutines, which are lightweight threads managed directly by the Go language runtime. Go is probably best known for the use of a channel-based, message-passing concurrency mechanism, based on Hoare's Communicating Sequential Processes (CSP), for inter-thread communication. However, Go also includes support for traditional concurrency features, such as mutexes and condition variables, that are commonly used in other languages. In this paper, we analyze the use of these traditional concurrency features, using a corpus of Go programs used in earlier work to study the use of message-passing concurrency features in Go. The goal of this work is to better support developers in using traditional concurrency features, or a combination of traditional and message-passing features, in Go.

Description

Citation

Collections