Changeset 145 for MicroThreading/Demo


Ignore:
Timestamp:
Jan 25, 2011, 8:51:57 PM (14 years ago)
Author:
george
Message:
  • Modified: Yield method of micro thread manager now does'n accept micro thread as parameter and instead get current running micro thread from own field CurrentMicroThread.
  • Fixed: Calculating high precision time on linux.
Location:
MicroThreading/Demo
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • MicroThreading/Demo/Demo.lpi

    r144 r145  
    5050        <TopLine Value="1"/>
    5151        <CursorPos X="1" Y="15"/>
    52         <UsageCount Value="46"/>
     52        <UsageCount Value="47"/>
    5353      </Unit0>
    5454      <Unit1>
     
    5858        <ResourceBaseClass Value="Form"/>
    5959        <UnitName Value="UMainForm"/>
     60        <IsVisibleTab Value="True"/>
    6061        <EditorIndex Value="0"/>
    6162        <WindowIndex Value="0"/>
    62         <TopLine Value="182"/>
    63         <CursorPos X="28" Y="184"/>
    64         <UsageCount Value="46"/>
     63        <TopLine Value="84"/>
     64        <CursorPos X="3" Y="88"/>
     65        <UsageCount Value="47"/>
    6566        <Loaded Value="True"/>
    6667        <LoadedDesigner Value="True"/>
     
    6970        <Filename Value="../UMicroThreading.pas"/>
    7071        <UnitName Value="UMicroThreading"/>
    71         <IsVisibleTab Value="True"/>
    72         <EditorIndex Value="6"/>
    73         <WindowIndex Value="0"/>
    74         <TopLine Value="337"/>
    75         <CursorPos X="17" Y="350"/>
    76         <UsageCount Value="25"/>
     72        <EditorIndex Value="1"/>
     73        <WindowIndex Value="0"/>
     74        <TopLine Value="383"/>
     75        <CursorPos X="9" Y="384"/>
     76        <UsageCount Value="26"/>
    7777        <Loaded Value="True"/>
    7878      </Unit2>
     
    159159      <Unit13>
    160160        <Filename Value="../../../../lazarus/lcl/include/buttons.inc"/>
    161         <WindowIndex Value="0"/>
    162         <TopLine Value="156"/>
    163         <CursorPos X="21" Y="175"/>
    164         <UsageCount Value="8"/>
     161        <EditorIndex Value="4"/>
     162        <WindowIndex Value="0"/>
     163        <TopLine Value="317"/>
     164        <CursorPos X="1" Y="341"/>
     165        <UsageCount Value="10"/>
     166        <Loaded Value="True"/>
    165167      </Unit13>
    166168      <Unit14>
    167169        <Filename Value="../../../../lazarus/lcl/include/buttoncontrol.inc"/>
     170        <EditorIndex Value="3"/>
    168171        <WindowIndex Value="0"/>
    169172        <TopLine Value="45"/>
    170         <CursorPos X="17" Y="62"/>
    171         <UsageCount Value="8"/>
     173        <CursorPos X="1" Y="62"/>
     174        <UsageCount Value="10"/>
     175        <Loaded Value="True"/>
    172176      </Unit14>
    173177      <Unit15>
    174178        <Filename Value="../../../../lazarus/lcl/include/control.inc"/>
     179        <EditorIndex Value="2"/>
    175180        <WindowIndex Value="0"/>
    176181        <TopLine Value="2271"/>
    177         <CursorPos X="4" Y="2274"/>
     182        <CursorPos X="19" Y="2274"/>
    178183        <UsageCount Value="11"/>
     184        <Loaded Value="True"/>
    179185      </Unit15>
    180186      <Unit16>
     
    289295      <Unit31>
    290296        <Filename Value="../../../../Programy/Lazarus/0.9.31_2.4.3/fpc/2.4.3/source/rtl/win/sysosh.inc"/>
    291         <EditorIndex Value="3"/>
    292297        <WindowIndex Value="0"/>
    293298        <TopLine Value="12"/>
    294299        <CursorPos X="3" Y="25"/>
    295300        <UsageCount Value="13"/>
    296         <Loaded Value="True"/>
    297301      </Unit31>
    298302      <Unit32>
     
    354358      <Unit40>
    355359        <Filename Value="../../../../Programy/Lazarus/0.9.31_2.4.3/fpc/2.4.3/source/rtl/inc/systemh.inc"/>
    356         <EditorIndex Value="1"/>
    357360        <WindowIndex Value="0"/>
    358361        <TopLine Value="492"/>
    359362        <CursorPos X="3" Y="504"/>
    360363        <UsageCount Value="10"/>
    361         <Loaded Value="True"/>
    362364      </Unit40>
    363365      <Unit41>
    364366        <Filename Value="../../../../Programy/Lazarus/0.9.31_2.4.3/fpc/2.4.3/source/rtl/win/syswin.inc"/>
    365         <EditorIndex Value="5"/>
    366367        <WindowIndex Value="0"/>
    367368        <TopLine Value="197"/>
    368369        <CursorPos X="30" Y="208"/>
    369370        <UsageCount Value="10"/>
    370         <Loaded Value="True"/>
    371371      </Unit41>
    372372      <Unit42>
    373373        <Filename Value="../../../../Programy/Lazarus/0.9.31_2.4.3/fpc/2.4.3/source/rtl/inc/system.inc"/>
    374         <EditorIndex Value="4"/>
    375374        <WindowIndex Value="0"/>
    376375        <TopLine Value="737"/>
    377376        <CursorPos X="21" Y="747"/>
    378377        <UsageCount Value="10"/>
    379         <Loaded Value="True"/>
    380378      </Unit42>
    381379      <Unit43>
    382380        <Filename Value="../../../../Programy/Lazarus/0.9.31_2.4.3/fpc/2.4.3/source/rtl/inc/innr.inc"/>
    383         <EditorIndex Value="2"/>
    384381        <WindowIndex Value="0"/>
    385382        <TopLine Value="96"/>
    386383        <CursorPos X="1" Y="1"/>
    387384        <UsageCount Value="10"/>
    388         <Loaded Value="True"/>
    389385      </Unit43>
    390386    </Units>
     
    392388      <Position1>
    393389        <Filename Value="../UMicroThreading.pas"/>
    394         <Caret Line="322" Column="1" TopLine="315"/>
     390        <Caret Line="233" Column="1" TopLine="209"/>
    395391      </Position1>
    396392      <Position2>
    397393        <Filename Value="../UMicroThreading.pas"/>
    398         <Caret Line="328" Column="1" TopLine="315"/>
     394        <Caret Line="234" Column="1" TopLine="210"/>
    399395      </Position2>
    400396      <Position3>
    401397        <Filename Value="../UMicroThreading.pas"/>
    402         <Caret Line="363" Column="3" TopLine="350"/>
     398        <Caret Line="235" Column="1" TopLine="211"/>
    403399      </Position3>
    404400      <Position4>
    405401        <Filename Value="../UMicroThreading.pas"/>
    406         <Caret Line="322" Column="1" TopLine="309"/>
     402        <Caret Line="236" Column="1" TopLine="212"/>
    407403      </Position4>
    408404      <Position5>
    409405        <Filename Value="../UMicroThreading.pas"/>
    410         <Caret Line="326" Column="20" TopLine="309"/>
     406        <Caret Line="237" Column="1" TopLine="213"/>
    411407      </Position5>
    412408      <Position6>
    413409        <Filename Value="../UMicroThreading.pas"/>
    414         <Caret Line="169" Column="1" TopLine="156"/>
     410        <Caret Line="239" Column="1" TopLine="215"/>
    415411      </Position6>
    416412      <Position7>
    417413        <Filename Value="../UMicroThreading.pas"/>
    418         <Caret Line="363" Column="1" TopLine="350"/>
     414        <Caret Line="240" Column="1" TopLine="216"/>
    419415      </Position7>
    420416      <Position8>
    421417        <Filename Value="../UMicroThreading.pas"/>
    422         <Caret Line="322" Column="1" TopLine="309"/>
     418        <Caret Line="241" Column="1" TopLine="217"/>
    423419      </Position8>
    424420      <Position9>
    425421        <Filename Value="../UMicroThreading.pas"/>
    426         <Caret Line="330" Column="1" TopLine="309"/>
     422        <Caret Line="242" Column="1" TopLine="218"/>
    427423      </Position9>
    428424      <Position10>
    429425        <Filename Value="../UMicroThreading.pas"/>
    430         <Caret Line="316" Column="1" TopLine="309"/>
     426        <Caret Line="243" Column="1" TopLine="219"/>
    431427      </Position10>
    432428      <Position11>
    433429        <Filename Value="../UMicroThreading.pas"/>
    434         <Caret Line="169" Column="1" TopLine="156"/>
     430        <Caret Line="246" Column="1" TopLine="222"/>
    435431      </Position11>
    436432      <Position12>
    437433        <Filename Value="../UMicroThreading.pas"/>
    438         <Caret Line="316" Column="1" TopLine="303"/>
     434        <Caret Line="247" Column="1" TopLine="223"/>
    439435      </Position12>
    440436      <Position13>
    441437        <Filename Value="../UMicroThreading.pas"/>
    442         <Caret Line="330" Column="16" TopLine="317"/>
     438        <Caret Line="248" Column="1" TopLine="224"/>
    443439      </Position13>
    444440      <Position14>
    445441        <Filename Value="../UMicroThreading.pas"/>
    446         <Caret Line="363" Column="1" TopLine="350"/>
     442        <Caret Line="249" Column="1" TopLine="225"/>
    447443      </Position14>
    448444      <Position15>
    449         <Filename Value="UMainForm.pas"/>
    450         <Caret Line="228" Column="1" TopLine="208"/>
     445        <Filename Value="../UMicroThreading.pas"/>
     446        <Caret Line="250" Column="1" TopLine="226"/>
    451447      </Position15>
    452448      <Position16>
    453         <Filename Value="UMainForm.pas"/>
    454         <Caret Line="235" Column="1" TopLine="215"/>
     449        <Filename Value="../UMicroThreading.pas"/>
     450        <Caret Line="252" Column="1" TopLine="228"/>
    455451      </Position16>
    456452      <Position17>
    457         <Filename Value="UMainForm.pas"/>
    458         <Caret Line="184" Column="28" TopLine="182"/>
     453        <Filename Value="../UMicroThreading.pas"/>
     454        <Caret Line="204" Column="1" TopLine="189"/>
    459455      </Position17>
    460456      <Position18>
    461         <Filename Value="../../../../Programy/Lazarus/0.9.31_2.4.3/fpc/2.4.3/source/rtl/inc/system.inc"/>
    462         <Caret Line="660" Column="22" TopLine="656"/>
     457        <Filename Value="../UMicroThreading.pas"/>
     458        <Caret Line="217" Column="1" TopLine="193"/>
    463459      </Position18>
    464460      <Position19>
    465461        <Filename Value="../UMicroThreading.pas"/>
    466         <Caret Line="527" Column="78" TopLine="504"/>
     462        <Caret Line="188" Column="1" TopLine="173"/>
    467463      </Position19>
    468464      <Position20>
    469465        <Filename Value="../UMicroThreading.pas"/>
    470         <Caret Line="531" Column="51" TopLine="513"/>
     466        <Caret Line="217" Column="1" TopLine="192"/>
    471467      </Position20>
    472468      <Position21>
    473         <Filename Value="../../../../Programy/Lazarus/0.9.31_2.4.3/fpc/2.4.3/source/rtl/win/syswin.inc"/>
    474         <Caret Line="208" Column="27" TopLine="194"/>
     469        <Filename Value="../UMicroThreading.pas"/>
     470        <Caret Line="188" Column="1" TopLine="173"/>
    475471      </Position21>
    476472      <Position22>
    477473        <Filename Value="../UMicroThreading.pas"/>
    478         <Caret Line="531" Column="46" TopLine="522"/>
     474        <Caret Line="268" Column="7" TopLine="242"/>
    479475      </Position22>
    480476      <Position23>
    481477        <Filename Value="../UMicroThreading.pas"/>
    482         <Caret Line="161" Column="27" TopLine="158"/>
     478        <Caret Line="217" Column="1" TopLine="202"/>
    483479      </Position23>
    484480      <Position24>
    485481        <Filename Value="../UMicroThreading.pas"/>
    486         <Caret Line="195" Column="43" TopLine="180"/>
     482        <Caret Line="188" Column="1" TopLine="173"/>
    487483      </Position24>
    488484      <Position25>
    489485        <Filename Value="../UMicroThreading.pas"/>
    490         <Caret Line="211" Column="43" TopLine="198"/>
     486        <Caret Line="480" Column="1" TopLine="465"/>
    491487      </Position25>
    492488      <Position26>
    493489        <Filename Value="../UMicroThreading.pas"/>
    494         <Caret Line="241" Column="45" TopLine="226"/>
     490        <Caret Line="188" Column="1" TopLine="173"/>
    495491      </Position26>
    496492      <Position27>
    497493        <Filename Value="../UMicroThreading.pas"/>
    498         <Caret Line="542" Column="1" TopLine="524"/>
     494        <Caret Line="292" Column="1" TopLine="254"/>
    499495      </Position27>
    500496      <Position28>
    501497        <Filename Value="../UMicroThreading.pas"/>
    502         <Caret Line="538" Column="39" TopLine="525"/>
     498        <Caret Line="389" Column="3" TopLine="387"/>
    503499      </Position28>
    504500      <Position29>
    505501        <Filename Value="../UMicroThreading.pas"/>
    506         <Caret Line="181" Column="1" TopLine="155"/>
     502        <Caret Line="384" Column="9" TopLine="383"/>
    507503      </Position29>
    508504      <Position30>
    509         <Filename Value="../UMicroThreading.pas"/>
    510         <Caret Line="350" Column="22" TopLine="337"/>
     505        <Filename Value="UMainForm.pas"/>
     506        <Caret Line="235" Column="1" TopLine="142"/>
    511507      </Position30>
    512508    </JumpHistory>
     
    533529  </CompilerOptions>
    534530  <Debugging>
    535     <BreakPoints Count="5">
     531    <BreakPoints Count="7">
    536532      <Item1>
    537533        <Source Value="../Coroutine.pas"/>
     
    554550        <Line Value="145"/>
    555551      </Item5>
     552      <Item6>
     553        <Source Value="../UMicroThreading.pas"/>
     554        <Line Value="389"/>
     555      </Item6>
     556      <Item7>
     557        <Source Value="UMainForm.pas"/>
     558        <Line Value="88"/>
     559      </Item7>
    556560    </BreakPoints>
    557561    <Exceptions Count="3">
  • MicroThreading/Demo/Demo.lpr

    r133 r145  
    88  {$ENDIF}{$ENDIF}
    99  Interfaces, // this includes the LCL widgetset
    10   Forms, UMainForm, microthreading, ExceptionLogger
     10  Forms, UMainForm, MicroThreading, ExceptionLogger
    1111  { you can add units after this };
    1212
  • MicroThreading/Demo/UMainForm.lfm

    r144 r145  
    5858    Height = 14
    5959    Top = 8
    60     Width = 74
     60    Width = 85
    6161    Caption = 'Microthread list'
    6262    ParentColor = False
     
    9393    Height = 14
    9494    Top = 80
    95     Width = 32
     95    Width = 38
    9696    Caption = 'Label2'
    9797    ParentColor = False
  • MicroThreading/Demo/UMainForm.pas

    r144 r145  
    8888  if Button1.Caption = 'Start scheduler' then begin
    8989    Button1.Caption := 'Stop scheduler';
    90     Scheduler.MicroThreads.Clear;
    9190    Memo1.Clear;
    9291    Scheduler.Start;
     
    159158  I: Integer;
    160159begin
     160  Scheduler.MicroThreads.Clear;
    161161  for I := 0 to SpinEdit1.Value do
    162162    Scheduler.AddMethod(Worker);
Note: See TracChangeset for help on using the changeset viewer.