ByteScout Premium Suite - VB.NET - Parallel barcode decoding with barcode reader sdk - ByteScout

ByteScout Premium Suite – VB.NET – Parallel barcode decoding with barcode reader sdk

  • Home
  • /
  • Articles
  • /
  • ByteScout Premium Suite – VB.NET – Parallel barcode decoding with barcode reader sdk

parallel barcode decoding with barcode reader sdk in VB.NET using ByteScout Premium Suite

parallel barcode decoding with barcode reader sdk in VB.NET

These source code samples are assembled by their programming language and functions they use. ByteScout Premium Suite helps with parallel barcode decoding with barcode reader sdk in VB.NET. ByteScout Premium Suite is the bundle that includes twelve SDK products from ByteScout including tools and components for PDF, barcodes, spreadsheets, screen video recording.

If you want to quickly learn then these fast application programming interfaces of ByteScout Premium Suite for VB.NET plus the guideline and the VB.NET code below will help you quickly learn parallel barcode decoding with barcode reader sdk. 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. These VB.NET sample examples can be used in one or many applications.

ByteScout Premium Suite free trial version is available for download from our website. Free trial also includes programming tutorials along with source code samples.

On-demand (REST Web API) version:
 Web API (on-demand version)

On-premise offline SDK for Windows:
 60 Day Free Trial (on-premise)

Module1.vb
      
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

ON-PREMISE OFFLINE SDK

60 Day Free Trial or Visit ByteScout Premium Suite Home Page

Explore ByteScout Premium Suite Documentation

Explore Samples

Sign Up for ByteScout Premium Suite Online Training

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

VIDEO

ON-PREMISE OFFLINE SDK

60 Day Free Trial or Visit ByteScout Premium Suite Home Page

Explore ByteScout Premium Suite Documentation

Explore Samples

Sign Up for ByteScout Premium Suite Online Training

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

Tutorials:

prev
next