Cтраница 1
Разделяемые переменные существуют в одном экземпляре и доступны для всех подпроцессов. Директивы выходной обработки данных определяют ту версию набора переменных, растиражированных для параллельной обработки, с которой исполнение будет продолжено после завершения блока разделения заданий или блока параллелизации. [1]
Разделяемые переменные ( Shared Variables) похожи на переменные экземпляра тем, что связаны со всеми экземплярами объекта. [2]
Разделяемые переменные имеют много общего с переменными экземпляра. Главное различие состоит в том, что переменные экземпляра связаны с конкретным экземпляром класса, в то время как разделяемые переменные связаны с самим классом. Таким образом, независимо от количества экземпляров в классе, значение разделяемой переменной будет одним и тем же для каждого экземпляра. [3]
Когда создана структура на уровне класса, переменные экземпляра и разделяемые переменные объявляются так же, как и локальная переменная в примере, показанном выше. [4]
Второе различие между переменными экземпляра и разделяемыми переменными заключается в том, что разделяемые переменные сохраняют свои значения при закрытии связанного с ними объекта и открытии его вновь. Во многих случаях, каждый раз, когда открывается объект, вы будете устанавливать начальное значение разделяемой переменной. [5]
Разделяемые переменные имеют много общего с переменными экземпляра. Главное различие состоит в том, что переменные экземпляра связаны с конкретным экземпляром класса, в то время как разделяемые переменные связаны с самим классом. Таким образом, независимо от количества экземпляров в классе, значение разделяемой переменной будет одним и тем же для каждого экземпляра. [6]
В дополнение к тому преимуществу, что каждый раз при обращении к контрольному элементу или набору контрольных элементов вам не требуется повторно кодировать одни и те же скрипты, с пользовательскими классами легче работать, потому что изменения делаются в одном месте и отражаются во всех экземплярах, а само приложение выглядит стандартным по виду и ощущениям. Кроме того, поскольку пользовательские классы является настоящими классами ( с точки зрения объектно-ориентированного подхода), разработчик может описать переменные экземпляра и разделяемые переменные, функции и структуры, и даже пользовательские события. [7]
Разделяемые переменные ( Shared Variables) похожи на переменные экземпляра тем, что связаны со всеми экземплярами объекта. Разделяемые переменные объявляются путем выбора Declared Shared Variables в меню Declare мастерской класса, с которым переменная будет связана. [8]
Один процесс следует обозначить как монитор. Монитор - это отдельный MODULE с номером приоритета, обозначенным после имени модуля в квадратных скобках. Все разделяемые переменные между различными процессами должны быть заключены в модуль монитора. Переменные должны быть скрыты в модуле монитора, и доступ к ним должен осуществляться только путем обращения к процедурам, содержащимся в мониторе. Таким способом программист может гарантировать, что в каждый заданный момент времени к разделяемым Переменным будет происходить доступ только одного процесса. Гарантией этого служит тот факт, что в каждый заданный момент активной может быть только одна процедура модуля монитора. [9]
Настраиваемый визуальный пользовательский класс - это совокупность элементов управления, которые действуют как единое целое. Индивидуальные управляющие элементы настраиваемого пользовательского класса могут быть конфигурированы заданием размера и значений других атрибутов, а также кодированием скриптов ассоциированных событий. Более того, аналогичное конфигурирование может выполняться применительно к самому пользовательскому классу. В дополнение к выбору значений атрибутов и кодированию задаваемых по умолчанию скриптов, разработчик может описать события, переменные экземпляра и разделяемые переменные, а также функции и структуры пользовательского класса. [10]
В инициации подзадачи нет ничего необычного, ясно, однако, что возвращать управление присоединяющей задаче не нужно, так как она вовсе не теряла управления. Присоединенная подзадача должна просто закончить свою работу. Но это не все; поскольку две задачи А и В выполняются параллельно и их выполнение никак не синхронизировано, завершение подзадачи В должно сопровождаться некоторым сигналом для А, так как иначе А не сможет узнать, когда В закончила работу. В может сообщить об окончании своей работы А. В ПЛ / I такие возможности обеспечиваются самим языком. Разделяемые переменные называются событийными переменными ( event variable) и создаются одновременно с образованием подзадачи. [11]