implement Readme.md
This commit is contained in:
@@ -0,0 +1,69 @@
|
|||||||
|
## Question 1:
|
||||||
|
|
||||||
|
Output
|
||||||
|
```bash
|
||||||
|
Calling run()
|
||||||
|
Running in: main
|
||||||
|
Calling start()
|
||||||
|
Running in: Thread-2
|
||||||
|
```
|
||||||
|
|
||||||
|
When we call `t1.run()`, we are just calling a method in the current thread(the main thread).
|
||||||
|
No extra thread is created.
|
||||||
|
|
||||||
|
But if we call `t2.start()`, the code runs in a separate thread and use multithreading.
|
||||||
|
|
||||||
|
## Question 2:
|
||||||
|
|
||||||
|
Output:
|
||||||
|
```bash
|
||||||
|
Main thread ends.
|
||||||
|
Daemon thread running...
|
||||||
|
```
|
||||||
|
|
||||||
|
- The main thread finishes immediately and the other thread is stopped right after because it's a daemon thread.
|
||||||
|
|
||||||
|
|
||||||
|
- If we remove `thread.setDaemon(true)`, the thread won't be a daemon anymore. So when the main thread finishes, the other thread will continue and the output would be :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
Main thread ends.
|
||||||
|
Daemon thread running...
|
||||||
|
Daemon thread running...
|
||||||
|
Daemon thread running...
|
||||||
|
Daemon thread running...
|
||||||
|
Daemon thread running...
|
||||||
|
Daemon thread running...
|
||||||
|
Daemon thread running...
|
||||||
|
Daemon thread running...
|
||||||
|
Daemon thread running...
|
||||||
|
Daemon thread running...
|
||||||
|
Daemon thread running...
|
||||||
|
Daemon thread running...
|
||||||
|
Daemon thread running...
|
||||||
|
Daemon thread running...
|
||||||
|
Daemon thread running...
|
||||||
|
Daemon thread running...
|
||||||
|
Daemon thread running...
|
||||||
|
Daemon thread running...
|
||||||
|
Daemon thread running...
|
||||||
|
Daemon thread running...
|
||||||
|
```
|
||||||
|
|
||||||
|
- Background Tasks: Tasks that shouldn’t block the application from shutting down.
|
||||||
|
Examples:
|
||||||
|
Garbage Collection: Memory management.
|
||||||
|
Auto-save: Periodically saving temporary drafts.
|
||||||
|
Monitoring/Heartbeats: Checking system health or connection status in the background.
|
||||||
|
|
||||||
|
|
||||||
|
## Question 3:
|
||||||
|
|
||||||
|
Output:
|
||||||
|
```bash
|
||||||
|
Thread is running using a ...!
|
||||||
|
```
|
||||||
|
|
||||||
|
- **Syntax**: This is a Lambda Expression, a shortcut in to write code blocks (functions) concisely.
|
||||||
|
- **Difference**: Your code is just a shorter version of the standard `implements Runnable` approach.
|
||||||
|
You don’t need to create a separate class anymore; you just pass the logic directly as a lambda. It’s cleaner and less boilerplate code.
|
||||||
Reference in New Issue
Block a user