Multithreading: Exam Questions

  • Which of the following statements about threads is true? (Wrong answers are subtracted from correct answers.)

    • A thread shares an address space with all other threads in a process.

    • Threads are an operating system’s way of keeping track of all the events that happen while a system is running.

    • A thread’s memory is isolated from all other threads in the system.

    • When a program starts, the process is made up of one initial thread, the main thread

    • Threads are a way of achieving parallel execution within the same address space.

  • What can happen when two threads modify the same integer at the same time (for example using a plain “+” operator in most programming languages)? (One answer.)

    • One of the modifications might be lost.

    • Everything will be ok.

  • Which of the following statements about race conditions is true? (Wrong answers are subtracted from correct answers.)

    • Two or more threads execute a loop, and it is not entirely clear which one finishes first.

    • It is a race condition if two or more threads access the same data at the same time, without providing any protection for potentially overlapping non-atomic operations.

  • What device is usually used to prevent race conditions? (One answer.)

    • A mutex

    • Character device