Git Product home page Git Product logo

jackyhuynh / process_sync_and_multithread_optimization_using_java Goto Github PK

View Code? Open in Web Editor NEW
3.0 0.0 4.0 11.4 MB

Research paper on Multi-Threading vs. Multi-Processing applies to Operating System & Application. The research analyzes the fundamental of multiprocess and multithreading programming. The report paper also explains the basics of how operating system functions, and OS Scheduler Algorithms. I also implement the Producer-Consumer Problem using Conditional Variables to explain. This is not a full program. The research paper can be used as a good fundamental for Multithreading Engineers or embedded System Engineers.

License: The Unlicense

Java 99.76% HTML 0.24%
eclipse-ide java-virtual-machine java-runtime-enviroment java multi-processing os-algorithms os-scheduler multi-threading producer-consumer-problem synchronization

process_sync_and_multithread_optimization_using_java's Introduction

A guild to Multi-Threading vs. Multi-Processing & Process Synchronization

Research paper on Multi-Threading vs. Multi-Processing applies to Operating System & Application. The research analyzes the fundamental of multiprocess and multithreading programming. The report paper also explains the basics of how operating system functions, and OS Scheduler Algorithms. I also implement the Producer-Consumer Problem using Conditional Variables to explain issues in OS Scheduler. The research paper can be used as a good reference for multithreading Engineers, or embedded System Engineers when developing Multi-Threading and Multi-Processing applications.

The source code folder also include code example of Java Multithreading that was retrieved from Udemy course "Multi threading application development using Java". These source code provided solid foudation for Java application developer and can be applied For more details please visit Udemy.com. Each folder exercise contain its own code and Readme.md file. Please refer to its for further details.

Code examples for the online course Java Multithreading, Concurrency & Performance Optimization of Author : Michael Pogrebinsky

alt

  • Please read the full research paper here. The research paper covers the definition of process scheduler algorithm, process synchronization algorithm, multithreading definition, and programming...
  • The Linux Completely Fair Scheduler (CFS) 2.6:

alt

Technology:

  • Java
  • Multithreading
  • Data Structures
  • Multi-Process
  • Producer/Consumer Problems

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

What things you need to install the software and how to install them

  • Intellij: Deep intelligence: After IntelliJ IDEA has indexed your source code, it offers a blazing fast and intelligent experience by giving relevant suggestions in every context: instant and clever code completion, on-the-fly code analysis, and reliable refactoring tools. Out-of-the-box experience: Mission-critical tools such as integrated version control systems and a wide variety of supported languages and frameworks are all to hand โ€” no plugin hassle included.
  • Eclipse IDE: The Eclipse IDE is famous for our Java Integrated Development Environment (IDE), but we have several pretty cool IDEs, including our C/C++ IDE, JavaScript/TypeScript IDE, PHP IDE, and more.
  • Java Runtime Environment and Java Virtual Machine: Java software for your computer, or the Java Runtime Environment, is also referred to as the Java Runtime, Runtime Environment, Runtime, JRE, Java Virtual Machine, Virtual Machine, Java VM, JVM, VM, Java plug-in, Java plugin, Java add-on or Java download.

Installing

A step by step series of examples that tell you how to get a development environment running. Download and Install Java (Java Runtime Environment or Java Virtual Machine)

  • Java for Windows - we should download and install JVM before the Eclipse IDE Download and Install Eclipse IDE
  • Install Eclipse IDE - If you haven't downloaded and installed Eclipse IDE yet, here's how to get started.
  • Install Net Bean IDE - You can use either Eclipse IDE or Net Bean IDE, not need both. If you haven't downloaded and installed Eclipse IDE yet, here's how to get started.
  • Install Intellij

To open the project using Intellij

  1. File -> New -> "Project from Existing Sources" or "Import Project".
  2. Select the project directory.
  3. Select "Create Project from Existing Sources" and click "Next" repeatedly until the last window.
  4. Click "Finish"

Running the tests

Explain how to run the automated tests for this system:

  • Start ConditionalVariable.java
  • Tested complete successfully.

Built With

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

  • Truc Huynh - Initial work - TrucDev

Reference

my README.md format was retrieved from

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgement

process_sync_and_multithread_optimization_using_java's People

Contributors

jackyhuynh avatar

Stargazers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.