R M
Quiz by , created more than 1 year ago

Quiz on Programming in C#: Exam 483, created by R M on 08/01/2015.

12
1
0
R M
Created by R M over 9 years ago
Close

Programming in C#: Exam 483

Question 1 of 13

1

What is the mechanism of ensuring that two threads don't execute portions of a program at the same time?

Select one of the following:

  • Synchronization

  • Alignment

  • Hazard-Checking

  • Paralellization

Explanation

Question 2 of 13

1

Can you pass an integer to a thread as a parameter?

Select one of the following:

  • Yes, but only as an Object. It must be cast inside the thread.

  • Yes.

  • No.

  • No, unless it is a foreground thread.

Explanation

Question 3 of 13

1

What does the [Threadstatic] attribute in a variable entail?

Select one of the following:

  • Each copy of a spawned thread has its own copy of a field.

  • Each copy of a spawned thread can manipulate the field.

  • The field can only be modified by one thread at a time.

  • The field can be modified by the main thread, or any spawned foreground threads.

Explanation

Question 4 of 13

1

How would you add a sequence to a Task?

Select one of the following:

  • .ContinueWith((FirstTask){
    //Func
    })

  • .NextTask((FirstTask){
    //Func
    })

  • .Continue((FirstTask){
    //Func
    })

  • .Then((FirstTask{
    //Func
    })

Explanation

Question 5 of 13

1

Which are acceptable overloads of the .ContinueWith function?

Select one or more of the following:

  • TaskContinueationOptions.OnlyCancelled

  • TaskContinueationOptions.OnlyOnFaulted

  • TaskContinueationOptions.OnlyRanToCompletion

  • TaskContinueationOptions.OnlyBlocked

  • TaskContinueationOptions.OnlyStopped

  • TaskContinueationOptions.OnlyCompleted

  • TaskContinueationOptions.OnlyOnCompletion

Explanation

Question 6 of 13

1

What does a task object do?

Select one of the following:

  • Spawn a new thread.

  • Spawn a new process.

  • Nothing, it's syntactic sugar

  • Provides a method of managing thread resources.

Explanation

Question 7 of 13

1

What principles should you keep in mind while creating an asynchronous method?

Select one or more of the following:

  • Always use await statements.

  • Avoid returning void.

  • Be sure to test to ensure a performance increase.

  • Return a Task or Task<T>

Explanation

Question 8 of 13

1

ConcurrentStacks allow enumeration

Select one of the following:

  • True
  • False

Explanation

Question 9 of 13

1

You havve a lot of items that need to be processed. For each item, you need to perform complex arithmetic that takes up moderate CPU time. Which technique should you use?

Select one of the following:

  • Create a Task for each item, and wait till all of them are finished

  • Use a Parallel.For to process all items concurrently

  • Use Async/Await to process all items concurrently

  • Add all items to a BlockingCollection and process them on a thread created by the thread class.

Explanation

Question 10 of 13

1

You are creating a complex query that doesn't require any particular order, and you want to run it as parallel. Which method should you use?

Select one of the following:

  • AsParallel

  • AsSequential

  • AsOrdered

  • WithDegreeOfParallelism

Explanation

Question 11 of 13

1

In an ASP.NET project, your application retrieves data from a remote server and writes the response to a database. Should you use the Async/Await keywords for processing?

Select one of the following:

  • Yes, this will free your thread to serve other requests while waiting for a naturally occurring I/O bottleneck.

  • No, both operations depend on external factors. You must wait before they are finished.

  • No, in a server application you don't have to use async/await, as the keywords are primarily used in client applications.

  • Yes, this puts your thread to sleep while waiting for I/O so it uses no CPU time.

Explanation

Question 12 of 13

1

What does the volatile keyword do?

Select one of the following:

  • Ensures that individual copies of a variable are stored in memory

  • Disables compiler optimizations that assume a single-threaded application

  • Ensures a variable is never added to a swap file on a disk

  • Informs the compiler that the variable will be heavily accessed

Explanation

Question 13 of 13

1

Is var++ an atomic operation?

Select one of the following:

  • True
  • False

Explanation