Class ov::threading::ExecutableNetworkThreadSafeDefault

class ExecutableNetworkThreadSafeDefault : public IExecutableNetworkInternal

This class provides optimal thread safe default implementation. The class is recommended to be used as a base class for Executable Network implementation during plugin development.

Public Types

typedef std::shared_ptr<ExecutableNetworkThreadSafeDefault> Ptr

A shared pointer to a ExecutableNetworkThreadSafeDefault object.

Public Functions

inline explicit ExecutableNetworkThreadSafeDefault(const ITaskExecutor::Ptr &taskExecutor = std::make_shared<CPUStreamsExecutor>(IStreamsExecutor::Config{"Default"}), const ITaskExecutor::Ptr &callbackExecutor = std::make_shared<CPUStreamsExecutor>(IStreamsExecutor::Config{"Callback"}))

Constructs a new instance.

Parameters
  • taskExecutor[in] The task executor used

  • callbackExecutor[in] The callback executor

inline IInferRequestInternal::Ptr CreateInferRequest() override

Given optional implementation of creating asynchronous inference request to avoid need for it to be implemented by plugin.

Returns

shared_ptr for the created asynchronous inference request