<< Chapter < Page
  Ti dsp/bios lab   Page 1 / 1
Chapter >> Page >
The module is a lab assignment to help you better understand the very basics of Microsoft Visual Basic queues.

Introduction

This lab module will help you become familiar with the basics of queues in Microsoft Visual Basic. The exercises are written assuming you are using Visual Basic 2005 and the .NET Framework version 2.0 (or later). Some older versions will work the same, but you may need to figure out some differences. It should work with newer version also.

Module prerequisites

You should complete the Visual Basic Threads and Semaphores lab before this one.

Labratory

Part 1

  • In this part you will just put some items on a queue and then take them off and print them.
  • Start up Visual Studio and create a new Visual Basic project.
  • In the Form1 class make a queue variable and then a synchronized queue.
  • In the Form1_Load method put the following objects on the queue:
  1. The string "Hello"
  2. The string "World"
  3. The number 23
  4. The string "Twenty Three"
  • Now make a for loop that iterates using the Count property of the queue.
  • Inside the loop, dequeue items from the queue and print them to the console.
  • Run your program and record the results.

Part 2

  • In this part you will create two threads where one thread will write to a queue and the other will take the items off and print them. No synchronization will be done in this part. The reading thread will need to keep checking to see if there is anything on the queue.
  • Start up Visual Studio and create a new Visual Basic project.
  • In the Form1 class make a queue variable and then a synchronized queue. Use the synchronized queue.
  • Make two threads in the Form1 class and start them up in the Form1_Load method.
  • In the method for the first thread:
  1. make a counter variable
  2. make a loop that loops forever
  3. in the loop increment the counter
  4. in the loop put the counter value on the queue
  • In the method for the second thread:
  1. make a loop that loops forever
  2. in the loop make an if statement that checks the count property of the queue
  3. if the count value is not zero, take an element off the queue and print it
  4. if the count value is zero, print a statement that says there was nothing on the queue
  • Run your program and record the results.

Part 3

  • In this part you will create two threads where one thread will write to a queue and the other will take the items off and print them. Synchronization will be done in this part. The reading thread will wait until there is something on the queue then take all the elements off and print them. The writing thread will signal the reading thread when it puts something on the queue.
  • Start up Visual Studio and create a new Visual Basic project.
  • In the Form1 class make a queue variable and then a synchronized queue. Use the synchronized queue.
  • In the Form1 class make an AutoResetEvent event variable that will be used to synchronize the two threads.
  • Make two threads in the Form1 class and start them up in the Form1_Load method.
  • In the method for the first thread:
  1. make a counter variable
  2. make a loop that loops forever
  3. in the loop: increment the counter, put the counter value on the queue, print a statement telling what was written, signal the AutoResetEvent event with the Set method
  • In the method for the second thread:
  1. make a loop that loops forever
  2. in the loop print a statement saying that the task is about to wait
  3. have the thread wait for the AutoResetEvent event by calling the WaitOne method
  4. after the WaitOne call, make another while loop that keeps removing items from the queue as long as the count is greater than zero
  5. print the value of the element taken off the queue to the console
  • Run your program and record the results.

Part 4

  • This uses the code from the previous part.
  • After writing the value to the queue, have the first thread sleep for 100 ms using the command
Thread.Sleep(100)
  • Run your program and record the results.

Questions & Answers

how to create a software using Android phone
Wiseman Reply
how
basra
what is the difference between C and C++.
Yan Reply
what is software
Sami Reply
software is a instructions like programs
Shambhu
what is the difference between C and C++.
Yan
yes, how?
Hayder
what is software engineering
Ahmad
software engineering is a the branch of computer science deals with the design,development, testing and maintenance of software applications.
Hayder
who is best bw software engineering and cyber security
Ahmad
Both software engineering and cybersecurity offer exciting career prospects, but your choice ultimately depends on your interests and skills. If you enjoy problem-solving, programming, and designing software syste
Hayder
what's software processes
Ntege Reply
I haven't started reading yet. by device (hardware) or for improving design Lol? Here. Requirement, Design, Implementation, Verification, Maintenance.
Vernon
I can give you a more valid answer by 5:00 By the way gm.
Vernon
it is all about designing,developing, testing, implementing and maintaining of software systems.
Ehenew
hello assalamualaikum
Sami
My name M Sami I m 2nd year student
Sami
what is the specific IDE for flutter programs?
Mwami Reply
jegudgdtgd my Name my Name is M and I have been talking about iey my papa john's university of washington post I tagged I will be in
Mwaqas Reply
yes
usman
how disign photo
atul Reply
hlo
Navya
hi
Michael
yes
Subhan
Show the necessary steps with description in resource monitoring process (CPU,memory,disk and network)
samuel Reply
What is software engineering
Tafadzwa Reply
Software engineering is a branch of computer science directed to writing programs to develop Softwares that can drive or enable the functionality of some hardwares like phone , automobile and others
kelvin
if any requirement engineer is gathering requirements from client and after getting he/she Analyze them this process is called
Alqa Reply
The following text is encoded in base 64. Ik5ldmVyIHRydXN0IGEgY29tcHV0ZXIgeW91IGNhbid0IHRocm93IG91dCBhIHdpbmRvdyIgLSBTdGV2ZSBXb3puaWFr Decode it, and paste the decoded text here
Julian Reply
what to do you mean
Vincent
hello
ALI
how are you ?
ALI
What is the command to list the contents of a directory in Unix and Unix-like operating systems
George Reply
how can i make my own software free of cost
Faizan Reply
like how
usman
hi
Hayder
The name of the author of our software engineering book is Ian Sommerville.
Doha Reply
what is software
Sampson Reply
the set of intruction given to the computer to perform a task
Noor
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Ti dsp/bios lab. OpenStax CNX. Sep 03, 2013 Download for free at http://cnx.org/content/col11265/1.8
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Ti dsp/bios lab' conversation and receive update notifications?

Ask