<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Можно ли создавать множество контекстов для библиотеки?</title>
    <link>https://opennet.me/openforum/vsluhforumID13/1001.html</link>
    <description>для native библиотеки в жав-приложении надо делать множество &quot;инстансов&quot; - запускать библиотечный код в наборе контекстов.&lt;br&gt;Поясню что происходит: библиотека эмулирует некий объект. Жава-приложение хочет работать с мнодеством независимых одинаковых объектов.&lt;br&gt;В настоящее время для переключения контекста тупо из внешнего буфера облавсть данных библиотеки копируется  целиком, и обратно сохраняется.&lt;br&gt;&lt;br&gt;Есть ли знатоки, знающие как можно создать множество контекстов, и переключать их без копирования?&lt;br&gt;&lt;br&gt;Насколько я понимаю, в норме разделяемые библиотеки линкуются в контексте приложения. Множество раз прилинковать одну библиотеку с разными контекстами в рдно приложение нельзя?&lt;br&gt;&lt;br&gt;</description>

<item>
    <title>Можно ли создавать множество контекстов для библиотеки? (Андрюша)</title>
    <link>https://opennet.me/openforum/vsluhforumID13/1001.html#5</link>
    <pubDate>Mon, 14 Mar 2022 13:19:05 GMT</pubDate>
    <description>&amp;gt; для native библиотеки в жав-приложении надо делать множество &quot;инстансов&quot; - запускать библиотечный &lt;br&gt;&amp;gt; код в наборе контекстов.&lt;br&gt;&amp;gt; Поясню что происходит: библиотека эмулирует некий объект. Жава-приложение хочет работать &lt;br&gt;&amp;gt; с мнодеством независимых одинаковых объектов.&lt;br&gt;&amp;gt; В настоящее время для переключения контекста тупо из внешнего буфера облавсть данных &lt;br&gt;&amp;gt; библиотеки копируется  целиком, и обратно сохраняется.&lt;br&gt;&amp;gt; Есть ли знатоки, знающие как можно создать множество контекстов, и переключать их &lt;br&gt;&amp;gt; без копирования?&lt;br&gt;&amp;gt; Насколько я понимаю, в норме разделяемые библиотеки линкуются в контексте приложения. Множество &lt;br&gt;&amp;gt; раз прилинковать одну библиотеку с разными контекстами в рдно приложение нельзя? &lt;br&gt;&lt;br&gt;Сделайте класс инкапсулирующий контекст &quot;устройства&quot;. В библиотеке переделайте, чтобы её функции принимали этот контекст.&lt;br&gt;&lt;br&gt;Типо С++.&lt;br&gt;&lt;br&gt;В библиотеке:&lt;br&gt;void* InitDevice();&lt;br&gt;...&lt;br&gt;void CloseDevice(void *ctx);&lt;br&gt;&lt;br&gt;В программе:&lt;br&gt;class Device &#123;&lt;br&gt;private:&lt;br&gt;  void *ctx;&lt;br&gt;public:&lt;br&gt;  void Init() &#123; this-&amp;gt;ctx = InitDevice(</description>
</item>

<item>
    <title>Можно ли создавать множество контекстов для библиотеки? (Брат Анон)</title>
    <link>https://opennet.me/openforum/vsluhforumID13/1001.html#3</link>
    <pubDate>Thu, 19 Nov 2020 06:20:52 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; да, действительно неясно.&lt;br&gt;&lt;br&gt; Если либа оперирует синглетоном -- тогда непонятно зачем вообще что-либо копировать. Если либа предоставляет конструктор индивидуальных объектов -- тогда пробуйте ссылку на объект создавать. Если жаба это умеет (спойлер: убейте жабу).&lt;br&gt;</description>
</item>

<item>
    <title>Можно ли создавать множество контекстов для библиотеки? (alexrayne)</title>
    <link>https://opennet.me/openforum/vsluhforumID13/1001.html#2</link>
    <pubDate>Sat, 14 Nov 2020 10:21:44 GMT</pubDate>
    <description>&amp;gt; Слова вроде бы знакомые, а о чем речь вообще непонятно &lt;br&gt;&lt;br&gt;да, действительно неясно.&lt;br&gt;1) есть некая библиотека моделирующая некое устройство - дллка, или sharedobject&lt;br&gt;2) в среде эмулятора надо загрузить и смоделировать множество экземпляров устройств - больше 100 или 1000 скажем.&lt;br&gt;3) в текущей реализации загружается библиотека, а для каждого экземпляра хранится копия области данных используемая библиотекой. Исполняемый код остается общим. Для выполнения кода над конкретным экземпляром - область данных библиотеки перезаписывается из контейнера экземпляра.&lt;br&gt;&lt;br&gt;Сейчас переключение экземпляра очень затратно - скопировать 30-60кБ данных надо, чтобы выполнить кода на сотню тактов. более 95&#037; времени занимает это копирование.&lt;br&gt;&lt;br&gt;Единственное решение обойти это место, я пока нашел - скопировать файл библиотеки в несколько независимых, и загружать эти библиотеки как независимые, получится одна библиотека/одоно устройство.&lt;br&gt;&lt;br&gt;MMU современных процессоров с другой стороны просто предназначено для решения подобных задач -</description>
</item>

<item>
    <title>Можно ли создавать множество контекстов для библиотеки? (Аноним)</title>
    <link>https://opennet.me/openforum/vsluhforumID13/1001.html#1</link>
    <pubDate>Wed, 14 Oct 2020 16:08:00 GMT</pubDate>
    <description>Слова вроде бы знакомые, а о чем речь вообще непонятно&lt;br&gt;</description>
</item>

</channel>
</rss>
