Shinya Kitaoka 810553
#pragma once
Shinya Kitaoka 810553
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>
Shinya Kitaoka 120a6e
namespace igs {
Shinya Kitaoka 120a6e
namespace resource {
Shinya Kitaoka 120a6e
class thread_execute_interface {
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 120a6e
  virtual void run(void) = 0;
Shinya Kitaoka 120a6e
  virtual ~thread_execute_interface() {} /* 仮想デストラクタの空定義 */
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
class multithread {
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 120a6e
  void add(void *thread_execute_instance);
Shinya Kitaoka 120a6e
  void run(void); /* 指定が一個の場合はスレッド実行せずただ実行 */
Shinya Kitaoka 120a6e
  void clear(void);
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
private:
Shinya Kitaoka 120a6e
  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 */