#if определить сравнение строк для директивы препроцессора

С выпуском Java 8 теперь есть третий вариант.

Runnable - функциональный интерфейс , что означает, что его экземпляры могут быть созданы с помощью лямбда выражения или ссылки на методы.

Ваш пример может быть заменен на:

new Thread(() -> { /* Code here */ }).start()

или если вы хотите использовать ExecutorService и ссылку на метод:

executor.execute(runner::run)

Они не только намного короче, чем ваши примеры, но также обладают многими преимуществами, изложенными в других ответах на использование Runnable по сравнению с Thread, например, с одной ответственностью и использованием композиции, потому что вы не специализируетесь на Поведение потока. Этот способ также позволяет избежать создания дополнительного класса, если все, что вам нужно, это Runnable, как и в ваших примерах.

1
задан Wormzy 28 March 2019 в 20:11
поделиться

1 ответ

Возможно, что-то подобное будет работать:

#ifdef PORTA 
#define ADDRESS               (*(PORT_t *) 0x0400)

#define EXP_GPIO0_PORT        ADDRESS
#define EXP_GPIO0_PIN         0
#endif

const uint8_t PortAGpiosPortpinUsed[] =
{
    #ifdef PORTA
    EXP_GPIO0_PIN,
    #endif
}

Конечно, это предполагает, что PORTA определено ранее

0
ответ дан user3629249 28 March 2019 в 20:11
поделиться
Другие вопросы по тегам:

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