﻿<?xml version="1.0" encoding="utf-8" ?> 
<?xml-stylesheet type="text/xsl" href="../../webpages/courses.xsl" ?>
<!--
/////////////////////////////////////////////////////////////////////////////
//  CSE681codeL7.xml - provides links Lecture #7 materials                 //
//                     on the ECS college server                           //
//                                                                         //
//  Jim Fawcett, CST 2-187, Syracuse University, jfawcett@twcny.rr.com     //
/////////////////////////////////////////////////////////////////////////////
-->

<courses name="Fawcett">

  <btitle>CSE681 Lecture #7</btitle>
  <theme src="../../webpages/CodeTheme.css" />

  <visible>
  <title>CSE681 - Software Modeling and Analysis</title>
  <subtitle>Lecture #7 - Multi-Threaded Systems and Queues</subtitle>
  <revised>26 October 2006</revised>
  
  <hilight>
    <ifile title="Home">../../webpages/FawcettHome.xml</ifile>&#32;
    <ifile title="Courses">../../webpages/Courses.xml</ifile>&#32;
    <ifile title="Code">../../webpages/Code.xml</ifile>&#32;
    <ilink title="Handouts">www.ecs.syr.edu/faculty/fawcett/handouts</ilink>&#32;
    <ifile title="CoreTech">../../webpages/CoreTechnologies.xml</ifile>&#32;
    <ifile title="Books">../../webpages/Books.xml</ifile>&#32;
    <ifile title="Articles">../../webpages/Articles.xml</ifile>&#32;
    <ifile title="Math">../../webpages/Mathematics.xml</ifile>&#32;
    <ifile title="Research">../../webpages/research.xml</ifile>&#32;
    <ifile title="Masters Projects">../../webpages/MastersProjects.xml</ifile>&#32;
    <ifile title="SWDev">../../webpages/swdev.xml</ifile>&#32;
    <ifile title="WebDev">../../webpages/webdev.xml</ifile>&#32;
    <ifile title="News">../../webpages/news.xml</ifile>&#32;
    <ifile title="OtherLinks">../../webpages/OtherLinks.xml</ifile>&#32;
    <ifile title="SiteDesign">../../webpages/SiteDesign.xml</ifile>&#32;
    <ifile title="Graduates">../../webpages/graduates.xml</ifile>&#32;
    <ifile title="AllPages">../../webpages/AllPages.xml</ifile>&#32;
    <ifile title="Office Hours">../../webpages/OfficeHours.xml</ifile>&#32;
    <notice title="Notices">../../webpages/notices.xml</notice>&#32;
    <html><a href="#contents">Contents</a></html>&#32;
  </hilight>

  <!-- <include src="CoursesNavBar.xml"/> -->

  <hilight>
    <ifile title="CSE681-SWMAA">../../webpages/CSE681.xml</ifile>&#32;
    <ifile title="CSE686-IP">../../webpages/CSE686.xml</ifile>&#32;
    <ifile title="CSE687-OOD">../../webpages/CSE687.xml</ifile>&#32;
    <ifile title="CSE775-DO">../../webpages/CSE775.xml</ifile>&#32;
    <ifile title="CSE776-DP">../../webpages/CSE776.xml</ifile>&#32;
    <ifile title="CSE778-AWP">../../webpages/CSE778.xml</ifile>&#32;
    <ifile title="CSE784-SWS">../../webpages/CSE784.xml</ifile>
  </hilight>

  <hilight>
    <ifile title="Lecture #01">../Lectures/CSE681CodeL1.xml</ifile>&#32;
    <ifile title="Lecture #02">../lectures/CSE681CodeL2.xml</ifile>&#32;
    <ifile title="Lecture #03">../Lectures/CSE681CodeL3.xml</ifile>&#32;
    <ifile title="Lecture #04">../Lectures/CSE681CodeL4.xml</ifile>&#32;
    <ifile title="Lecture #05">../Lectures/CSE681CodeL5.xml</ifile>&#32;
    <ifile title="Lecture #06">../Lectures/CSE681CodeL6.xml</ifile>&#32;
    <ifile title="Lecture #07">../Lectures/CSE681CodeL7.xml</ifile>&#32;<br/>
    <ifile title="Lecture #08">../Lectures/CSE681CodeL8.xml</ifile>&#32;
    <ifile title="Lecture #09">../Lectures/CSE681CodeL9.xml</ifile>&#32;
    <ifile title="Lecture #10">../Lectures/CSE681CodeL10.xml</ifile>&#32;
    <ifile title="Lecture #11">../Lectures/CSE681CodeL11.xml</ifile>&#32;
    <ifile title="Lecture #12">../Lectures/CSE681CodeL12.xml</ifile>&#32;
    <ifile title="Lecture #13">../Lectures/CSE681CodeL13.xml</ifile>&#32;
    <ifile title="Lecture #14">../Lectures/CSE681CodeL14.xml</ifile>&#32;<br/>
  </hilight>
  
  <hilight>
    <html><a href="#Contents">Contents</a></html>&#32;
    <html>
      <a href="../../webpages/cse681.xml#Syllabus">Syllabus</a>
    </html>&#32;
  </hilight>
  
  <section title="Web Resources:">
      <ilink title="UML">bdn.borland.com/article/0,1410,31863,00.html</ilink>&#32;
      <ilink title="XML,&#160;HTML">www.w3schools.com</ilink>&#32;
      <ilink title="Code&#160;Project">www.codeproject.com</ilink>&#32;
      <ilink title="Microsoft&#160;Developer's&#160;Network">www.msdn.microsoft.com</ilink>&#32;
      <ilink title="DevelopMentor">www.develop.com/devresources/default.aspx</ilink>&#32;
      <ilink title="XML">xml.com</ilink>&#32;
      <ilink title="Sells&#160;Brothers">sellsbrothers.com</ilink>&#32;
      <ilink title="Windows&#160;Developer's&#160;Journal">www.wdj.com</ilink>&#32;
      <ilink title="Windows&#160;Forms">windowsforms.net/</ilink>&#32;
      <ilink title="DotNetJunkies">www.dotnetjunkies.com</ilink>&#32;
      <ilink title="GotDotNet">www.gotdotnet.com</ilink>&#32;
      <ilink title="C#&#160;Corner">www.c-sharpcorner.com</ilink>&#32;
      <ilink title="Mono&#160;Project">www.go-mono.com</ilink>&#32;
  </section>
  
  <isection title="Office Hours:">
    <ifile title="Instructor &amp; TAs">../../webpages/officeHours.xml</ifile>
  </isection>
  
  <section title="Content:">
  <html><a name="Contents" id="Syllabus"/></html>
    This lecture focuses on threading and Queues on the .Net platform.  We discuss creating and using .Net threads, 
    use of worker threads in forms and the need for Form.Invoke(...).  We then discuss typical threading and Queuing
    scenarios when communicating over remoting channels.
    examination.
    <olist>
      <litem>
        <html>
          The <a href="../../webpages/CSE681.xml#Syllabus">Syllabus</a> describes topics to be covered,
          reading material for you to digest <u>before coming to class</u>, and due dates
          for the assigned projects.
        </html>
      </litem>
      <litem>
        <file title="Demonstrate implicit and explicit DLL Loading">../code/DynamicLinkLibraries</file>
      </litem>
      <litem>
        <link title="Excellent Tutorial on C# Threads">www.albahari.com/threading/</link>
      </litem>
      <litem>
        <file title="Win32 Threads Presentation">../../CoreTechnologies/ThreadsAndSynchronization/Presentations/Threads-Win32andMFC.ppt</file>
      </litem>
      <litem>
        <file title="Synchronization">../../CoreTechnologies/ThreadsAndSynchronization/code/synch</file>
      </litem>
      <litem>
        <file title="Thread Problems">../../CoreTechnologies/ThreadsAndSynchronization/code/ThreadProblems</file>
      </litem>
      <litem>
        <file title=".Net Threads Presentation">../Presentations/Threads-CSharp.ppt</file>
      </litem>
      <litem>
        <file title="Basic Thread Demo - uses Delegate">../code/delegateDemos/ThreadDemo</file>
      </litem>
      <litem>
        <file title="Queued Messages">../../CoreTechnologies/ThreadsAndSynchronization/code/QueuedMessages</file>
      </litem>
      <litem>
        <file title="Blocking Queue">../../CoreTechnologies/ThreadsAndSynchronization/code/BlockingQueueCS</file>
      </litem>
      <litem>
        <file title=".Net FormInvoke Demo">../../CoreTechnologies/ThreadsAndSynchronization/code/FormInvokeDemo</file>
      </litem>
      <litem>
        <file title="ThreadPool Demo">../../CoreTechnologies/ThreadsAndSynchronization/code/ThreadPoolDemo</file>
      </litem>
      <litem>
        <file title=".Net Worker Thread">../../CoreTechnologies/ThreadsAndSynchronization/code/WorkerThread</file>
      </litem>
      <litem>
        <file title="Abstract Task Model">../../CoreTechnologies/ThreadsAndSynchronization/code/Tasks</file>
      </litem>
      <litem>
        <file title="Systems with Multiple Threads and Queues">../presentations/MultiThreadedSystems.ppt</file>
      </litem>
      <litem>
        Queuing Issues:
        <olist>
          <litem>
            <file title="Bursty Transfers">../presentations/queues/bursty.vsd</file>
          </litem>
          <litem>
            <file title="Store and Forward">../presentations/queues/StoreAndForward.vsd</file>
          </litem>
          <litem>
            <file title="Event Driven Systems">../presentations/queues/windows.vsd</file>
          </litem>
<!--
          <litem>
            <file title="Implementation Concept">../presentations/queues/fifo.vsd</file>
          </litem>
          <litem>
            <file title="Implementation">../presentations/queues/mtQueue.vsd</file>
          </litem>
          <litem>
            <file title="Client Design">../presentations/queues/ThreeThrdClient.vsd</file>
          </litem>
-->
        </olist>
      </litem>
      <litem>
        <file title="Remoting Prototype for Pr#4 - Fall05">../presentations/RemotingPrototype.ppt</file>
      </litem>
      <litem>
         Midterm Review next Lecture.
      </litem>
      <litem>
        <ifile title="Lecture #7 folder">../Lecture7</ifile> contains a page of links to 
        presentations and code discussed in this class.  The Lecture folders will occasionally
        hold physical files of interest as well.  Usually, however, all the materials 
        of interest to the class are in the <ifile title="presentations">../presentations</ifile>
        and <ifile title="code">../code</ifile> folders.  The contents of these folders will grow
        as you progress through the course.
      </litem>
    </olist>
  </section>  
  </visible>
</courses>
