title: What are the implications of suggesting this concurrency library by Microsoft based on Intel's Library?
body: <p>I'm on a Windows platform form with an Intel architecture. I'm using Visual Studio 2017 as my IDE. I'm in the process of writing a coding example for another question. It pertains to the use of containers, multi-threading, and parallel programming. The Q/A that I'm referring to can be found <a href="https://codereview.stackexchange.com/q/241635/130733">here</a>. Before I post anything to make a suggestion or to provide any kind of feedback to the OP, I want to make sure that it is both useful and accurate first.</p>
  <p>While I was building my own version or model of their presented application, I had come across some documentation and discovered some header files that Visual Studio is presenting to me through Intellisense or Autocomplete... Here's a list of some of the header files in question:</p>
  <pre><code>#include &lt;concurrent_priority_queue.h&gt;
  #include &lt;concurrent_queue.h&gt;
  #include &lt;concurrent_unordered_map.h&gt;
  #include &lt;concurrent_unordered_set.h&gt;
  #include &lt;concurrent_vector&gt;
  #include &lt;internal_concurrent_hash.h&gt;
  </code></pre>
  <p>When I was doing more research into these header files, I was getting details on them from Microsoft Docs. However, I have also seen references to Intel's <code>tbb</code> library.</p>
  <p>After opening one of these files it is giving me this information:</p>
  <pre><code>/***
  * ==++==
  *
  * Copyright (c) Microsoft Corporation.  All rights reserved.
  * Microsoft would like to acknowledge that this concurrency data structure implementation
  * is based on the Intel implementation of its Threading Building Blocks (&quot;Intel Material&quot;).
  *
  * ==--==
  * =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
  *
  * concurrent_vector.h
  *
  * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  ****/
  
  /*
      Intel Material Copyright 2005-2008 Intel Corporation.  All Rights Reserved.
  */
  </code></pre>
  <p>They appear to be Mircosoft's version based on Intel's Concurrency Library model.</p>
  <p>Now, if this were Intel's library specifically, I would then assume that it would be portable across the Intel family of architectures agnostic of its operating system... However, with this being Microsoft's version, would this then be Microsoft or platform-specific? Would it be advisable to suggest using this library for concurrency reasons? If not is there another general portable library with similar behavior to serve as a viable replacement?</p>
  <p>I don't want to suggest something that may not be useable in their environment. I'm currently at a standstill at this point in the design process to provide a possible useful suggestion. This is where I need more clarity.</p>