Toshihiro Shimizu 890ddd
#ifndef igs_resource_multithread_h
Toshihiro Shimizu 890ddd
#define igs_resource_multithread_h
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#include <vector></vector>
Toshihiro Shimizu 890ddd
namespace igs
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
namespace resource
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
class thread_execute_interface
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
public:
Toshihiro Shimizu 890ddd
	virtual void run(void) = 0;
Toshihiro Shimizu 890ddd
	virtual ~thread_execute_interface() {} /* 仮想デストラクタの空定義 */
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class multithread
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
public:
Toshihiro Shimizu 890ddd
	void add(void *thread_execute_instance);
Toshihiro Shimizu 890ddd
	void run(void); /* 指定が一個の場合はスレッド実行せずただ実行 */
Toshihiro Shimizu 890ddd
	void clear(void);
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
private:
Toshihiro Shimizu 890ddd
	std::vector<void *=""> thre_exec_;</void>
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#endif /* !igs_resource_multithread_h */