Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Потоки в Visual Basic

Реферат Потоки в Visual Basic





l Rights Reserved

Option Explicit

Dim State As Integer

'State = 0 - Idle

'State = 1 - Loading existing value

'State = 2 - Adding 1 to existing value

'State = 3 - Storing existing value

'State = 4 - Extra delay

Dim Accumulator As Long

Const OtherCodeDelay = 10

Private Sub Command1_Click ()

Dim f As New frmMTDemo1

f.Show

End Sub

Private Sub Form_Load ()

Timer1.Interval = 750 + Rnd * 500

End Sub

Private Sub Timer1_Timer ()

Static otherdelay &

Select Case State

Case 0

lblOperation = "Idle"

State = 1

Case 1

lblOperation = "Loading Acc"

Accumulator = GenericGlobalCounter

State = 2

Case 2

lblOperation = "Incrementing"

Accumulator = Accumulator + 1

State = 3

Case 3

lblOperation = "Storing"

GenericGlobalCounter = Accumulator

TotalIncrements = TotalIncrements + 1

State = 4

Case 4

lblOperation = "Generic Code"

If otherdelay> = OtherCodeDelay Then

State = 0

otherdelay = 0

Else

otherdelay = otherdelay + 1

End If

End Select

UpdateDisplay

End Sub

Public Sub UpdateDisplay ()

lblGlobalCounter = Str $ (GenericGlobalCounter)

lblAccumulator = Str $ (Accumulator)

lblVerification = Str $ (TotalIncrements)

End Sub

Ця програма для моделювання багатопотокового режиму використовує таймер і простий кінцевий автомат. Мінлива State описує п'ять команд, які ця програма виконує. State = 0 - неактивний стан. State = 1 завантажує локальну змінну глобальної змінної GenericGlobalCounter. State = 2 збільшує на одиницю локальну змінну. State = 3 запам'ятовує результат у змінній GenericGlobalCounter і збільшує змінну TotalIncrements (яка вважає кількість збільшень змінної GenericGlobalCounter). State = 3 додає додаткову затримку, що представляє собою час, витрачений на виконання інших команд в програмі.

Функція UpdateDisplay оновлює три мітки на формі, які показують поточне значення змінної GenericGlobalCounter, локального суматора, і загальної кількості збільшень.

Кожен сигнал таймера моделює цикл центральний процесор у поточному потоці. Якщо Ви запустіть програму, то побачите, що значення змінної GenericGlobalCounter буде завжди точно одно змінної TotalIncrements, тому що змінна TotalIncrements показує кількість збільшень лічильника GenericGlobalCounter потоком.

Але що трапиться, коли Ви натискаєте кнопку Command1 і запустіть другий примірник форми? Ця нова форма змоделює другий потік. p> Час від часу, команди вишикуються в лінію таким чином, що обидві форми завантажать однакове значення GenericGlobalCounter, збільшать і збережуть його. У результаті, значення ...


Назад | сторінка 3 з 15 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: The state apparatus of Ukraine
  • Реферат на тему: Florida state university
  • Реферат на тему: Supremacy of law is in the Ukrainian State
  • Реферат на тему: Civil society and the state
  • Реферат на тему: The formation of absolutism in Russian state