Косвенно ссылаемый из необходимого .class файла

Мой любимый способ обработки потока - инкапсулировать его внутри объекта C ++. Вот пример:

class MyThreadClass
{
public:
   MyThreadClass() {/* empty */}
   virtual ~MyThreadClass() {/* empty */}

   /** Returns true if the thread was successfully started, false if there was an error starting the thread */
   bool StartInternalThread()
   {
      return (pthread_create(&_thread, NULL, InternalThreadEntryFunc, this) == 0);
   }

   /** Will not return until the internal thread has exited. */
   void WaitForInternalThreadToExit()
   {
      (void) pthread_join(_thread, NULL);
   }

protected:
   /** Implement this method in your subclass with the code you want your thread to run. */
   virtual void InternalThreadEntry() = 0;

private:
   static void * InternalThreadEntryFunc(void * This) {((MyThreadClass *)This)->InternalThreadEntry(); return NULL;}

   pthread_t _thread;
};

Чтобы использовать его, вы просто создадите подкласс MyThreadClass с использованием метода InternalThreadEntry (), который будет содержать цикл событий вашего потока. Конечно, вам нужно будет вызвать WaitForInternalThreadToExit () для объекта потока перед удалением объекта потока (и иметь некоторый механизм, чтобы убедиться, что поток действительно завершен, иначе WaitForInternalThreadToExit () никогда не вернется)

39
задан Ryan Thames 23 September 2008 в 03:38
поделиться

2 ответа

Как Вы добавляете свои классы Weblogic к пути к классу в Eclipse? Вы используете WTP и время выполнения сервера? Если так, Ваше время выполнения сервера связано с Вашим проектом?

, Если Вы щелкаете правой кнопкой по своему проекту и выбираете сборку path->configure путь сборки и затем выбираете вкладку библиотек. Необходимо видеть weblogic библиотеки, связанные здесь. Если Вы не делаете можно нажать Add Library->Server Runtime. Если библиотека не там, то сначала необходимо настроить ее. Windows->Preferences->Server->Installed runtimes

27
ответ дан Aniket Thakur 23 September 2019 в 18:26
поделиться

Вы погуглили для "weblogic ExpressionMap"? Вы знаете то, что это и что это делает?

Похож на Вас, определенно должен компилировать вместе с Weblogic и с банками Weblogic, включенными в Ваш путь к классу Eclipse, если Вы уже не.

, Если Вы уже не работаете с Weblogic, тогда необходимо узнать то, что в мире ссылается на него. Вы, возможно, должны были бы сделать некоторый усиленный захват на своих банках, classfiles, и/или поиск исходных файлов, которые включают строку "weblogic".

, Если я должен был включать что-то, что полагалось на этот класс Weblogic, но не мог использовать Weblogic, я испытаю желание попытаться перепроектировать совместимый класс. Создайте свой собственный weblogic.utils.expressions. Класс ExpressionMap; посмотрите, компилирует ли все; используйте любые результирующие погрешности или предупреждения во время компиляции или время выполнения, чтобы дать Вам ключ к разгадке относительно того, чем методы и другие участники должны быть в этом классе. Сделайте тупиковые методы, которые ничего не делают или возвращают пустой указатель, если это возможно.

3
ответ дан skiphoppy 23 September 2019 в 18:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: