Thread Producer and Consumer : Producer Consumer « Thread « VB.Net

VB.Net
1. 2D
2. Application
3. Class
4. Data Structure
5. Database ADO.net
6. Development
7. Event
8. File Directory
9. Generics
10. GUI
11. Language Basics
12. Network Remote
13. Thread
14. Windows System
15. XML
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
C# / C Sharp
C# / CSharp Tutorial
ASP.Net
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
PHP
Python
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
VB.Net » Thread » Producer ConsumerScreenshots 
Thread Producer and Consumer
Thread Producer and Consumer

Imports System.Threading

Module Module1

    Public Buffer As Integer
    Public BufferEmpty As Boolean = True
    Public MonitorLock As Object = New Object()

    Sub Producer()
        Dim Value As Integer = 0
        Do
            Monitor.Enter(MonitorLock)
            If (BufferEmptyThen
                BufferEmpty = False
                Buffer = Value

                If (Value = 0Then
                    Value = 1
                Else
                    Value = 0
                End If

                Console.WriteLine("Producer: " & Buffer)

            End If
            Monitor.Exit(MonitorLock)

        Loop While (True)

    End Sub

    Sub Consumer()

        Dim Value As Integer

        Do
            Monitor.Enter(MonitorLock)

            If (Not BufferEmptyThen
                BufferEmpty = True
                Thread.CurrentThread.Sleep(1000)

                Value = Buffer

                Console.WriteLine("Consumer: " & Value)

            End If

            Monitor.Exit(MonitorLock)

        Loop While (True)

    End Sub

    Sub Main()
        Dim ProducerThread As Thread
        Dim ConsumerThread As Thread

        ProducerThread = New Thread(AddressOf Producer)
        ConsumerThread = New Thread(AddressOf Consumer)

        ProducerThread.Start()
        ConsumerThread.Start()
    End Sub

End Module


           
       
Related examples in the same category
1. Producer and Consumer with Unsynchronized Integer BufferProducer and Consumer with Unsynchronized Integer Buffer
2. Producer and Consumer with Synchronized Integer BufferProducer and Consumer with Synchronized Integer Buffer
w_w___w.__j_a___v_a_2___s___.___c__om | Contact Us
Copyright 2003 - 08 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.