[#BloombergLP-bslmt-ThreadGroup-addThreads-08]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmt.adoc[bslmt]::xref:BloombergLP/bslmt/ThreadGroup.adoc[ThreadGroup]::addThreads
:relfileprefix: ../../../
:mrdocs:

Begin executing the specified invokable functor in new threads&period;

== Synopsis

Declared in `&lt;bslmt&lowbar;threadgroup&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class INVOKABLE&gt;
int
addThreads(
    INVOKABLE const& functor,
    int numThreads);
----

== Description

Begin executing the specified invokable `functor` in the specified new `numThreads`, using the optionally specified thread `attributes`&period; Return `numThreads` on success, or the number of threads successfully started otherwise&period; `INVOKABLE` shall be a copy&hyphen;constructible type having the equivalent of `void operator()()`&period; Note that threads are always created joinable, regardless of the mode specified in `attributes`&period;

== Return Value

`numThreads` on success, or the number of threads successfully started otherwise

== Parameters

[cols="1,4"]
|===
| Name| Description
| *functor*
| invokable object executed as the thread entry point
| *numThreads*
| number of new threads to start
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
