Date of Award
Spring 5-1-2026
Document Type
Honors Project
Degree Name
Bachelor of Science
Department
Computer Science
Department Chair or Program Director
Andrew Marshall
First Advisor
Ian Finlayson
Major or Concentration
Computer Science
Abstract
Parallelism and multithreading have become an important facet of programming in recent years. Much work has been done in programming languages such as C and C++ with libraries such as OpenMP. However, less effort has been made to create parallelism tools in higher level languages such as Java. This is important because most programmers learn the basics in languages such as Python and Java that lack parallel tools like OpenMP. This means they must directly manage threads which requires knowledge of object-oriented programming and design.
This project sought to incorporate some elements of OpenMP into Java to allow newer programmers to learn parallelism without being disoriented by the syntax required in higher level languages. This was accomplished by creating a tool that utilized ANTLR which recognized new keywords of “parallel” and “parallelfor”. The tool reads these keywords and automatically generates code that creates threads, passes in local variables, and joins the threads after completion.
Overall, this project sought to make parallelism just a little more manageable for programmers as multithreading becomes more important in the industry. Through this tool, programmers can focus on higher level strategies to create truly incredible software.
Recommended Citation
Vierow, Matt, "Parallelism in Java" (2026). Departmental Honors & Graduate Capstone Projects. 684.
https://scholar.umw.edu/student_research/684