Go предлагает как небуферизованные и буферизованные каналы Для общения среди горутин (тем). Это прямой реализовать буферизованные каналы как ограниченные буферы в Java.
Небуферизованные каналы Go требуют, чтобы одна подпрограмма отправляла при получении другой подпрограммы. Может кто-нибудь объяснить мне, как реализовать это в Java?
2 ответа
В Java вы можете использовать SynchronousQueue , источник для Java 8 здесь
Я предлагаю вам также ознакомиться с JCSP а> библиотека. Более подробная информация о JCSP содержится в этом ответе.
У Java нет ничего, что эквивалентно Goroutines, увы. (Когда-то давно были «Зеленые нити», но они были заброшены). Поэтому, если вы вместо этого будете использовать потоки, вы перенесете большой объем памяти, как только число потоков станет интересным (например, более десяти тысяч). Каждый поток Java требует потока операционной системы и большого пространства стека.
Новые вопросы
java
Java - это язык программирования высокого уровня. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег редко используется отдельно и чаще всего используется вместе с [spring], [spring-boot], [jakarta-ee], [android], [javafx], [hadoop], [gradle] и [maven].