no hardware dependencies. • have 2KB of stack size; can grow up dynamically if needed by using heap storage • uses channels to communicate with other • Threads are managed by kernel and has hardware dependencies. • Threads generally have fixed stack size of 1-2MB • There is no easy communication between threads, inter-thread communication