How can I model two parallel threads that perform operations on an object in a sequence diagram?
How to model parallel threads in a UML sequence diagram
38.2k Views Asked by Christian At
1
There are 1 best solutions below
Related Questions in MULTITHREADING
- new thread blocks main thread
- WPF MessageBox Cancel checkbox check
- How to avoid concurrent access to a resource?
- run oncomplete event in async
- Threading Segfault when reading members
- Function timeouts in C and thread
- How are multiple requests to Task.Run handled from a resource management standpoint?
- Acumatica perfomance with threads
- Wait and Notify in Java threads for a given interval
- Different behavior of async with Visual Studio 2013(Windows8.1) and GCC 4.9(Ubuntu14.10)
- How to return blocking queue to the right object?
- background thread using Task.Run
- deletion and cleanup of worker thread in Qt crashes
- Pipeline-like operation using TChan
- implementing in app purchase on android
Related Questions in UML
- UML design for a nodeJS web application
- Laravel MVC application structure on UML class diagram
- Database tables for tennis court booking system
- Interfaces in UML component diagram
- Is this correct UML Sequence diagram?
- Easiest way to get Class UML from java(android) files or project w/o eclipse. Reverse engineer
- What kind of pattern design would apply?
- How to define composition(boss, subordinate relationship)
- Using Aggregation in Inheritance
- Tools for generate sequence diagram(UML) from PHP class(files)
- What underlying difference makes Node Instances appear different?
- Representing LinkedLists in UML diagrams?
- Hashmap in UML diagram?
- class diagram for changes without new class/method?
- Sorting a collection of numbers
Related Questions in SEQUENCE-DIAGRAM
- Is this correct UML Sequence diagram?
- when can i draw solid life time at sequence diagram
- Sequence Diagram - Friendship request FCM
- Draw a sequence diagram
- Perfom an action by the same actor in an UML sequence diagram
- Class diagram to sequence diagram
- How to represent mutiple calls in Seq diagram
- DocumentListener in seq diagram
- How to visualize a missing response in an uml sequence diagram?
- How to generate a certain type of diagram from another type in EA?
- How to draw calls from constructors in UML sequence diagrams?
- Sequence diagram for GWT RPC mechanism
- Sequence diagram frames
- Difference between service-level and system-level Sequence Diagrams?
- Representing Sequence Diagram for an ERP system
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
In a sequence diagram, a lifeline represents an individual participant in the interaction. So your object that is shared between the threads should appear once and only once in the diagram.
You would also represent with a lifeline each threaded object that interact with your shared object. It could be thread instantiations directly, or it could be several objects that are created in the context of the two threads.
But this is not sufficient. In principle, the sequence of the interactions with your object is indicated by the vertical order of the messages. So how to show that interactions may happen in parallel ?
For representing parallelism, you would use a combined fragment introduced by the operator
par. Graphically (see link), the combined fragment is represented as a boxed region in your sequence diagram, parallel sequences being separated by horizontal dashed lines (each of the slices would then correspond to one thread of execution.P.S: this example shows 2 threads, but you can add more threads by adding more horizontal dashed lines.