Как видно из заголовка, как я могу отменить блокирующий вызов, такой как select () или (в случае последовательной связи и аналогичных) read () из другого потока? Каков традиционный способ решения таких вещей? Я полагаю, что можно использовать небольшой тайм-аут, и это, вероятно, будет работать нормально, но мне это кажется чем-то вроде взлома.