- Trending Categories
- Data Structure
- Operating System
- C Programming
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Difference between Goroutine and Thread in Golang.
Goroutine is method/function which can be executed independently along with other goroutines. Every concurrent activity in Go language is generally terms as gorountine.
Thread is a lightweight process. It can be treated as a unit to execute a piece of code. Operating system manages the thread.
Following are the important differences between Goroutine and Thread.
|1||Managed By||Goroutine methods are managed by golang runtime.||Thread are managed by operating systems.|
|2||Hardware dependency||Goroutine are independent to hardware.||Thread are dependent on hardware.|
|3||Communication Medium||Goroutines uses channels as communication medium.||Thread have no easy communication medium.|
|4||Latency||Goroutines can commuicate with other routines with low latency.||Thread as have no communication medium, communicate with other thread with high latency.|
|5||ID||Goroutine does not have any thread local storage and no unique id.||Thread have thread local storage and have unique id.|
|6||Scheduling||Goroutines are co-operatively scheduled.||Threads are preemptively scheduled.|
|7||Startup||Goroutines have faster startup time.||Threads have slower startup time.|
|8||Stack||Goroutines have growable segmented stacks.||Threads do not have growable segmented stacks.|
- Difference between Process and Thread
- Difference between Fixed thread pool and cached thread pool.
- Difference between green and native thread
- Difference between Thread and Runnable in Java
- Difference Between Process and Thread in Java
- How to wait for a goroutine to finish in Golang?
- Difference between scheduledThread pool and Single Thread Executor.
- Difference Between Thread Class and Runnable Interface in Java
- What's the difference between a context switch, a process switch and a thread switch in Linux?
- Difference between !== and ==! operator in PHP
- Difference between . and : in Lua programming
- Difference between JCoClient and JCoDestination
- Difference between String and StringBuffer.
- Difference between StringBuffer and StringBuilder.