O'Reilly logo

D Cookbook by Adam D. Ruppe

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Using threads

Threads are a common building block for multitasking inside a single process. A thread is an independent stream of program execution that has access to the memory of other threads.

How to do it…

To start using threads, we will have to execute the following steps:

  1. Write the command import core.thread;.
  2. Write a function to perform your independent task.
  3. If the thread needs to pause, use the static method Thread.sleep from the thread to be paused.
  4. Create an additional thread with auto thread = new Thread, passing it as a pointer to your function.
  5. Call thread.start to begin execution.

Take a look at the following code:

import core.thread; import core.atomic; import std.stdio; int count = 0; shared(int) sharedCount = 0; // this is the function ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required