:
The example source codes on this page will display you how to make parallel barcode decoding with barcode reader sdk in VB.NET. ByteScout Barcode Suite was made to help with parallel barcode decoding with barcode reader sdk in VB.NET. ByteScout Barcode Suite is the set that includes three different SDK products to generate barcodes, read barcodes and read and write spreadsheets: Barcode SDK, Barcode Reader SDK and Spreadsheet SDK.
Want to speed up the application development? Then this VB.NET, code samples for VB.NET, developers help to speed up the application development and writing a code when using ByteScout Barcode Suite. If you want to implement this functionality, you should copy and paste code below into your app using code editor. Then compile and run your application. Enjoy writing a code with ready-to-use sample VB.NET codes to implement parallel barcode decoding with barcode reader sdk using ByteScout Barcode Suite.
Trial version can be downloaded from our website for free. It contains this and other source code samples for VB.NET.
On-demand (REST Web API) version:
Web API (on-demand version)
On-premise offline SDK for Windows:
60 Day Free Trial (on-premise)
Imports Bytescout.BarCodeReader
Imports System.Threading
Module Module1
Const InputFile As String = ".\example.pdf"
' Limit to 4 threads in queue.
' Set this value to number of your processor cores for max performance.
Dim ThreadLimiter As Semaphore = New Semaphore(4, 4)
<MTAThread()> Sub Main()
Const numberOfRuns As Integer = 10
Dim doneEvents(numberOfRuns - 1) As ManualResetEvent
For i As Integer = 0 To numberOfRuns - 1
' Wait for the queue
ThreadLimiter.WaitOne()
doneEvents(i) = New ManualResetEvent(False)
ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf ThreadProc), New Object() {i, doneEvents(i)})
Next
WaitHandle.WaitAll(doneEvents)
Console.WriteLine("All threads done.")
Console.WriteLine()
Console.WriteLine("Press any key to exit...")
Console.ReadKey()
End Sub
Sub ThreadProc(ByVal stateInfo As Object)
Dim threadIndex As Integer = stateInfo(0)
Dim waitEvent As ManualResetEvent = stateInfo(1)
Console.WriteLine("Thread #" & threadIndex & " started...")
Try
Dim reader As New Reader()
reader.RegistrationName = "demo"
reader.RegistrationKey = "demo"
' Set barcode type to find
reader.BarcodeTypesToFind.Code128 = True
' -----------------------------------------------------------------------
' NOTE: We can read barcodes from specific page to increase performance .
' For sample please refer to "Decoding barcodes from PDF by pages" program.
' -----------------------------------------------------------------------
' Read barcodes
Dim barcodes As FoundBarcode() = reader.ReadFrom(InputFile)
' Cleanup
reader.Dispose()
Console.WriteLine("Thread #" & threadIndex & " finished with " & barcodes.Length & " barcodes found.")
Catch ex As Exception
Console.WriteLine("Thread #" & threadIndex & " failed with exception:\r\n" & ex.Message)
Finally
' Signal the thread is finished
waitEvent.Set()
' Release semaphore
ThreadLimiter.Release()
End Try
End Sub
End Module
60 Day Free Trial or Visit ByteScout Barcode Suite Home Page
Explore ByteScout Barcode Suite Documentation
Explore Samples
Sign Up for ByteScout Barcode Suite Online Training
Get Your API Key
Explore Web API Docs
Explore Web API Samples
60 Day Free Trial or Visit ByteScout Barcode Suite Home Page
Explore ByteScout Barcode Suite Documentation
Explore Samples
Sign Up for ByteScout Barcode Suite Online Training
Get Your API Key
Explore Web API Docs
Explore Web API Samples
also available as: