using System;
namespace Unosquare.RaspberryIO.Abstractions {
///
/// Interface to represent threading methods using interop.
///
public interface IThreading {
///
/// Starts a new thread of execution which runs concurrently with your main program.
///
/// The thread routine.
void StartThread(Action worker);
///
/// Starts a new thread of execution which runs concurrently with your main program.
///
/// The thread routine.
/// A pointer to the user data.
/// A pointer to the new thread.
UIntPtr StartThreadEx(Action worker, UIntPtr userData);
///
/// Stops the thread pointed at by handle.
///
/// A thread pointer returned by .
void StopThreadEx(UIntPtr handle);
}
}