C# :: Co-ordinating Worker Thread Shutdown?

Nov 1, 2011

I've got a List(Of IWorker) which contains a number of concretes. IWorker in turn has a Startup() and Shutdown() method.Inside the Worker class, Startup() creates a new worker thread then returns. Shutdown() presently sets a private ShutDownRequested flag and returns. The flag is checked by the worker thread (at worst every few seconds).This all works fine but at present the parent app has no way to determine if the Worker has finished shutting down.I can see a number of ways around this but am not sure what the best one is.Add a State property to IWorker. Should work but I'm going to be polling states which seems a little nasty.Make the shutdown command blocking - Would probably be my ideal solution but I'm not sure how to implement it - does the worker Sunclock a private object which Shutdown() should also try to Synclock after setting the flag?

View 3 Replies


ADVERTISEMENT

Write In Worker Thread In A Data Table And Rich Text Box in Main Thread

Mar 4, 2009

I'm creating a Client Server application which involves theServer running some scripts in clients and getting back results in an automated way. In Server, other than Main thread, i have 2 worker threads, a) one monitoring response from clients and b) the other scheduling next available job to respective client which executes that job. The issue here is ,I want these worker threads to write the status of their work in the UI(which comes under Main Thread). Also i need to write things in worker thread in a Data table and Rich Text Box in Main thread. But, I can't do so, since it has been blocked to access one thread's function or property directly from others. Is there any work around to do this?

View 8 Replies

.Net Properly Shutdown An Asynchronous Socket Server Running On A Background Worker?

Mar 21, 2012

I have a Class called SocketSvr which handles an asynchronous socket server. It is called via the BackgroundWorker from my main form. Basically, I just want it to display my socket data information inside a textbox in the main form, and have a server start/stop button available on the main form to do those things.

Here is the code from Form1.vb:

Public Class Form1
Dim WithEvents Socketsvr As New SocketSvr
Private Sub ToggleServerButton_Click(ByVal sender As System.Object, _

[code]....

I am uncertain how to properly shut down requests from the client when the StopServer() function is run. In the code above, I place a cancellation queue for the background process. The funny thing is that once StopServer() is run, it will accept one more connection, then stop accepting thereafter.If I remove the following line from the code above:

listener.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, 1)

-- it crashes when I attempt to start the server a second time (complaining that I cannot reuse the socket, obviously) My guess is that I need to add something to the bw.CancellationPending call on the background worker?

View 1 Replies

Error On Worker Thread

Dec 27, 2009

I have some class that splits some work onto multiple worker threads. To be more specific: the class represents a download, that can have as many segments as the user wants, that get then put onto separate threads.When I run the download with one segment, it works fine. When I run it with 2 segments, the second segment encounters an error.[code]When I put a breakpoint on the if, it'll stop there, but when I go to the next line, I get an error.I don't get what's getting wrong, and got a headache after a few hours of attempting to keep track of the correct thread.Anyone an idea what's going wrong, or how I can detect it better? (This is the first time I'm doing real multi threading debugging.

View 4 Replies

Updating UI From Worker Thread

Oct 27, 2009

This is slightly different to just updating a UI from a worker thread. The object which calls the thread, calls another object, and it is this object which is is trying to update the UI. It doesn't however work.

Imports System.Threading
Public Class Form1
Public Delegate Sub GetText(ByVal sText As String)
Public GetSomeText As GetText
Public Sub New()
' This call is required by the Windows Form Designer.
[Code] .....

View 5 Replies

Cannot Access Controls From Worker Thread

Aug 24, 2009

Here is my setup:

Form1.vb - contains RichTextBox1 and BackgroundWorker1, which calls a the Control module.

Control.vb - calls Display module.

Display.vb - calls Form1.SetTextBoxText("text here").[code]...

My observations: When the Display module calls SetTextBoxText, InvokedRequired's is false. Also, if the BackgroundWorker1 (which is in Form1.vb) calls SetTextBoxText, it works. But if BackgroundWorker1 calls a module that calls SetTextBoxText, it doesn't work.

View 4 Replies

Serial Use Of A Background Worker Thread?

Apr 6, 2012

I have a BackgroundWorkerThread which I want to use serially.So some of the code in the UI thread will look like this [code]But of course I can't do the second RunWorkerAsync until the UI thread has seen the RunWorkerCompleted event indicating that the "Sequences" work has been completed (or somehow knows that the "Sequences" work has been completed).So I need some sort of synchronization between the two RunWorkerAsync calls, but whatever I use cannot hang up the UI thread because it has to be able to handle ProgressChanged events.Maybe the RunWorkerCompleted event could make the second call but I really don't like that structure.So how do I delay the second call to RunWorkerAsync (for the "Templates" work) until the background thread has completed the "Sequences" work?

View 6 Replies

Update UI Form From Worker Thread?

Oct 20, 2010

I am new to multi-threading in VB.NET and have come across a problem whereby I am wanting to append text to a text box on a form from a service thread running in the background.

The application I am developing is a client/server listener, I have been able to get the client and server PC's to talk with each other (confirmed through MsgBox), however I am now struggling to get the service thread on the server to append the text to the textbox, nothing vissible occurs.

I have a form named testDebug which calls a class (RemoteSupport), this class does all the handshake tasks and updates the textbox with the connection data.[code]...

View 2 Replies

Background Worker Create Second Thread For Progress Bar?

Apr 6, 2011

I have searched the forum and found several forums related to the backgroundworker thread but have been unsuccessful in finding my answer.My objective is to display an animated gif or progress bar while the program is executing a particular method which can take upwards of several minutes to complete. I cannot get the second thread to run the progress bar while the main progrem is executing the time consuming method. I have created a demo based on another thread and can't seem to get it to create two threads. I was attempting to get the backgroundworker to execute the progress bar while my main code runs on UI thread.

[Code]...

View 10 Replies

VS 2010 Standard Thread Vs Background Worker?

Apr 25, 2012

I have a application which processes 1000's datas.. for each processing it needs to update gui and db and many variables in my application. So what i have planned is to use 50~90 background worker with my own algorithm of thread pool, synchronization and thread close.So here is it efficient in terms of memory and performance. just confused what to use.. backgroundworker componenet or standard thread.

View 11 Replies

Background Worker - Cross Thread Operation Not Valid

May 30, 2011

I am testing a background workder. I am running the following code for the test.
Private Sub bgwTest_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bgwTest.DoWork
Dim a As Integer = 0
Do While a < 10 'Infinite loop
ComboBox1.Items.Add(1)
[Code] .....

But this code generates the following error:
"Cross-thread operation not valid: Control 'ComboBox1' accessed from a thread other than the thread it was created on."

View 2 Replies

Background Worker Combox Cross-thread Error

May 19, 2010

Can someone tell me how to get the selected text in the combo as it encountered cross-thread in the following code:

[Code]...

View 5 Replies

Create Instances Of Forms Inside A Worker Thread?

Nov 3, 2011

I am trying to create a new instance of a form if its not allready been created the only problem is is that the instance creation is inside a worker thread.[code]...

View 2 Replies

VS 2008 Thread Abort Exception While Using Background Worker

Aug 6, 2010

I'm working on a web application that uses the web browser control to get and set info from my website. The content on the site is pulled from different pages and the data the application stores becomes really huge so i used a background worker to do the work and keep the form responsive. On each loop i call to get the webbrowser's inner html so i can sort through it and grab what i need and it works; but only the first time!? After i call it the first time and try to call it again to update the variables the function hangs and then the console shows me a Thread Abort Exception, The try statement i used to contain it doesn't fire off an exception. When i debug the program and i get to that function, it hangs and then just stops working.

The function that loops:

vb.net
Dim ids As String = GrabIDs()
Dim IDCount As Long = ids.Split(CChar(",")).Length - 1
Do Until IDCount = 0

[Code]....

View 1 Replies

VS 2010 Cross-thread Operation Not Valid In Worker?

May 27, 2012

I'm getting a Cross-thread operation not valid error when my label text changes - this is very strange because it was working up until yesterday.The only way I can get this to work is by applying the invoke..[code]Is there a more simpler solution or will I have to invoke all my label coding?

View 9 Replies

C# - Background Worker In External Reference (DLL) Locking Main Thread?

Mar 21, 2011

I use background worker almost daily and works great. Today I came to an instance though where I needed to put my background worker in a separate project then the one I was running because I needed to use this class in two different projects in my solution. When I tested the coding on a winforms form, it works perfectly, handling my coding on the background thread. When I try to reference this class from an external project, all of my coding seems to run just fine, but it does not appear to be doing anything on a background thread as it should be, causing my main window to lockup.

Is there any way around this / what is the best practice for ASYNC calls in an external class.Note I basically created a class that u call start, and an event fires when data is ready, so it's not like my external project is waiting for the method to complete.

Solution ABC has two projects. Project A and Project B. Project A is my WPF application and B is my DLL doing the work. Inside project A I have

Dim SmartCardData as new Solution.B()
SmartCardData.Start()
Project B has a sub

[code]....

View 3 Replies

Create A New Instance Of Webbrowser Class Inside Of A Worker Thread?

Jan 14, 2009

Is it possible to create a new instance of the webbrowser class inside of a worker thread?

View 2 Replies

VS 2005 Class Api Needs To Get A Handle On Form Elements In The Main Worker Thread

Sep 4, 2009

I have a standard windows application called winap. I have a com component which acts as an api to the winap. I have a class in winap call classapi which has all the methods that the api calls and all works well. The problem is that one of the methods in my class api needs to get a handle on form elements in the main worker thread. Whenever I try to access an existing form I keep getting null because the for exists in the main worker thread and my api call is in a seperate thread.

[Code]...

View 5 Replies

VS 2010 Background Worker Cross Thread Operation On Active MDI Child

Dec 11, 2011

how to put this on a background worker without getting cross thread errors??? trying to upload a childform object values to an access db.I don't work in IT,Our company's LAN so slow that it takes around 3~5 seconds trying to update/insert values in access using the code below so putting it on a background worker i think makes the app immediately usable once save/upload's called unless otherwise somebody could suggest a faster way to speed things up.[code]

View 2 Replies

Synchronize The Timer Event So That The Timer Executes From The Background Worker Thread?

Apr 23, 2009

I have a windows application that need to process som quite time consuming jobs. In my first try i did all processing under
the form thread. The result was bad response and update of the form due to the heavy jobs.To get around the problem with bad response from the form i created a new class "processing" where i put all the data processing. Then i instanciated a background worker where i in the "doWork" sub created a new instance of "processing".The "processing" class creates a timer from system.timer, and the timer drives the processing.On the Timer event Elapsed the timer starts a new thread from the thread pool.

My problem is now when i want to asynchronously close the background worker (with the corresponding function call what ever it is called ...) there is still a timer thread out there that causes exceptions for me.

1. How can i close my background worker and at the same time have the timer to be stopped?

2. Is there a way to synchronize the timer event so that the timer executes from the background worker thread?

3. Is there a better approach for me to adapt?

View 3 Replies

WPF Background Worker Not Recognizing Worker Object

Mar 11, 2009

I have the following code that adds a background worker into a VB.net WPF project:

Imports System
Imports System.ComponentModel
Imports System.ComponentModel.BackgroundWorker

[Code].....

And I get the following error for the DoWork worker event:

Handles clause requires a WithEvents variable defined in the containing type or one of its base types.

It seems like it's missing something in the Event declaration, but can't find it.

View 3 Replies

VS 2010 Error - Cross-Thread Operation Not Valid: Control TbPlaca1 Accessed From A Thread Other Than The Thread It Was Created On

Aug 13, 2010

In one application, I need use 4 simultaneous threads.When the threads finished, I need to update the text of a TextBox.So, I create 4 Textbox, and I wanna the threads change the text to FINISHED.Each thread change one distinct TB.I use this "example"

Dim Terminados As Integer = 0
Private Sub frmEnviarMensagem_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Enabled = True
Timer1.Start()

[code]....

The problem is, I have an error in the red lines.The error is: INVALIDOPERATIONEXCEPTION "Cross-Thread operation not valid: Control tbPlaca1 Accessed from a thread other than the thread it was created on."I don't use cross threading. Each TB only was accessed for the correspondent thread, and for the "main program".

View 3 Replies

Cross-thread Operation Not Valid: Control 'Panel1' Accessed From A Thread Other Than The Thread It Was Created On." ?

Nov 3, 2011

This is the error message I am getting:

"Cross-thread operation not valid: Control 'Panel1' accessed from a thread other than the thread it was created on." The reason I am getting this error is because I am opening up a new form and then calling these three things:

Panel1.Show()
Label1.Show()
Label2.Show()

why I get this error message because it doesn't occur normally if I open Form2 after closing Form1, it only occurs when I open Form2 after closing Form4.

View 4 Replies

Error - Cross-thread Operation Not Valid: Control 'txt1' Accessed From A Thread Other Than The Thread It Was Created On

Jul 21, 2009

I have done a program using vb2005 to display reading from my microcontroller bs2 board but have encountered some problems. My code are as follows.

Dim Stop_Rx As Boolean
Private Sub btnRead_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRead.Click
SerialPort1.Open()

[code]....

I've encounter an error which is, (Cross-thread operation not valid: Control 'txt1' accessed from a thread other than the thread it was created on.)

View 7 Replies

Error : Cross-thread Operation Not Valid: Control 'l_users' Accessed From A Thread Other Than The Thread It Was Created On

Jun 21, 2012

When my client try to connect to server I'm getting this error : Cross-thread operation not valid: Control 'l_users' accessed from a thread other than the thread it was created on.

Private Sub _socketManager_onConnectionAccept(ByVal SocketID As String) Handles _socketManager.onConnectionAccept
l_Users.Items.Add(SocketID)
End Sub

View 3 Replies

Threading Progress Bar In .net - Thread Operation Not Valid Control 'ProgressBar1' Accessed From A Thread Other Than The Thread It Was Created On

Feb 17, 2012

Would anyone be able to help me here please. I'm fairly new to VB.net and threading so im just trying to figure out what is happening.When I debug this I am getting the error thread operation not valid: Control 'ProgressBar1' accessed from a thread other than the thread it was created on.

I'm a little lost as to why the error is occuring or how to fix it. I've had to put the progress bar in a separate thread otherwise the GUI crashes

[Code]...

View 2 Replies

Waiting For Threads - Thread.join Suspend Execution Of Code On Calling Thread Until Spawned Thread Finishes Or Is Aborted

Sep 2, 2010

My understanding is that thread.join will suspend the execution of code on the calling thread until the spawned thread finishes or is aborted...

With that in mind, I tried this:

For i = 1 to 50
threads = New Thread(AddressOf test)
threads.IsBackground = True
threads.SetApartmentState(ApartmentState.STA)

[CODE]...

However, the rest of the code runs when the loop finishes, not waiting for all the spawned threads to finish. Since the rest of the code needs the threads to finish (otherwise the rest will error).

View 4 Replies

Cross-thread Operation Not Valid: Control 'Autocad' Accessed From A Thread Other Than The Thread It Was Created On

Jun 6, 2010

I have written an application that loads a form - frmCad as well as AutoCad. It does this via a class which detects when AutoCad quits.

Friend Class CadApp Private WithEvents AppObject As AcadApplication... Private Sub AppObject_BeginQuit(ByRef Cancel As Boolean) Handles AppObject.BeginQuit RaiseEvent Quit() End SubEnd Class

My main class loads frmCad as well as CadApp.

Public Class Cad Private WithEvents frmCad As CadForm Private WithEvents app As CadApp... Public Sub ShowForm() If frmCad Is Nothing Then frmCad = New CadForm frmCad.Visible = True End Sub... Private Sub app_Quit() Handles app.Quit frmCad.Dispose() frmCad = Nothing .... End Sub

When I debug the program, it stops at frmCad.Dispose()The program continues to execute, but all the code after it fails to work.Looking more carefully I get an error message which contains:-Cross-thread operation not valid: Control 'Autocad' accessed from a thread other than the thread it was created on.

View 4 Replies

Cross-thread Operation Not Valid: Control 'label2' Accessed From A Thread Other Than The Thread It Was Created On?

Feb 9, 2011

My error:Cross-thread operation not valid: Control 'label2' accessed from a thread other than the thread it was created on. I want to be able to give my Public RunBot() sub access to edit Labels, buttons, etc without an error.

[Code]...

View 8 Replies

Cross-thread Operation Not Valid: Control 'lblStatus' Accessed From A Thread Other Than The Thread It Was Created On

Apr 1, 2010

I'm getting the 'System.InvalidOperationException' error on acccessing a thread from other than where it was created. My code is:

'Required by the Windows Form Designer
Public components As System.ComponentModel.IContainer ' changed from private

[code]....

View 3 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved