Про interop с java -- казалось бы, сделал что бы структуры даннах мапились друг на дружку, да функции вызывались и дело в шляпе! Но это не совсем так, особенно когда это node --jvm
. JS -- однопоточный и непонятно что делать когда разные треды хотят попрогать JS объект
Как решается вопрос когда есть нечто что доступно в среде с доступным параллелизмом, но это нечно не thread safe? twitter.com/jsunderhood/st…
что синхронизируем если на стороне джавы у нас много потоков, а объекты js не стоит трогать из нескольких сразу? Было бы конечно идиоматично какую-нибудь фабрике замутить, но все банальнее. Внимание, Context: graalvm.org/sdk/javadoc/or…
Context -- это весь рантайм state для языков GraalVM, когда запускается кусочек JS или там питона, это происходит в контексте. Это отличный объект чтоб на нем синхронизироваться.
например вот так будет работать
и вот это лучше гораздо объяснено в посте из которого эта картинка medium.com/graalvm/multi-…
Олег Шелаев