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


ADVERTISEMENT

VS 2010 Timer Event Not Firing In Background Thread?

Nov 6, 2011

When I run the following code in the UI thread, it works without issue.

VB.NET private timer as new timer public sub test()timer.enabled = true timer.interval = 1000 timer.start()addhandler timer.tick, addressof timer_tickend sub private sub timer_tick(...) messagebox.show("fff")end sub

But if I run it within a background thread, nothing happens.

View 15 Replies

Make Sure 'ProgressChanged' Event Executes Completely Before Executing 'RunWorkerCompleted' Event Of Background Worker

Sep 20, 2010

Starting from my understanding about Background worker control, I understands that the background worker runs the code in its "DoWork" method in a seperate thread, while ProgressChanged and RunWorkerCompleted events are executed on the main thread.In my senerio, I report the progress and under an specail condition my application displays a message box to the user in "ProgressChanged" method using MessageBox.Show(). and in "Run Worker Completed" event the application finalize some work. There the sequence is important, suppose that the message is of Yes or No type and finalization depends on it. Now when i run my application, the background worker triggers "ProgressChanged", but as soon as backgroundWorker's cancelAsync() is called the program leaves the current "ProgressChanged" method and executes "RunWorkerCompleted" code first.How can i make sure that the "Run Worker Completed" code executes only after the completion of ProgressChanged method.

View 9 Replies

Timer Control In Background Worker?

Apr 8, 2009

tring to put an event time in the tool strip. Timer alone would stop after the event began. Thought the Background Worker would work, but it never went further the DoWork Method.

[Code]...

View 4 Replies

VS 2008 Timer And Or Background Worker?

Nov 16, 2010

I want my progress bar to go down as time gets closer to it's next "event", so i guess i need a background worker for that so it uses another thread.How can I get that to loop on a timer so something so i knows where it's zero value will be and where it's current vlaue should be.

View 12 Replies

VS 2008 - Stopping And Starting Timer In Background Worker

Oct 18, 2009

I have a background worker which runs, at the start it stops a timer which has it's interval set to 500ms, at the end of the bgworker sub it starts it again. I've debugged and found out that the line that starts the timer up again (tTimer.Enabled=True) runs. However the timer does not resume. I'm don't know, but I'm thinking perhaps because I'm stopping and starting it on another thread it's not resuming properly or the sub it was attached to (via AddHandler) has been reset or something so it's running but not running the code in the sub it was attached to. If I never stop the timer in the code, it continues to run just fine, but I need it to stop at the start.

View 2 Replies

Timer In A Thread - Routine Which Is Controlled By A Timer

Aug 13, 2010

I have a routine which is controlled by a timer. It works perfectly. The problem is that now, I need to run this routine several times, so I need to start differents threads so that my program doesn't get hung up. I've been trying to start my timer inside a thread, but it doesn't work!

View 18 Replies

Asp.net - Local Static Variables In Timer.Tick Event (Stopping A Timer)

Jul 9, 2009

I have a timer on a page in ASP.NET.

After a certain period of time elapses, I want to disable the timer.

I want to put a static variable in the timers tick event that will track how many seconds have elapsed.

My question is, will this work?

If user X and Y are viewing the page will they both have separate local static variables?

What is the best method of shutting down an ASP.NET timer after a certain elapsed time?

View 1 Replies

Create An Array Of Timer - Raise The Tick Event For A Particular Timer?

Jan 11, 2011

I want to create an array of timer in vb.net. My problem is that how will i raise the tick event for a particular timer, say mytimer(x).tick and inside the tick event there is also a button, say mybutton(x) which changes location every interval. for example:

public class blah
dim mybuttons(20) as button
dim mytimer(20) as timer
private sub form_load(....) handles me.load
for x as integer = 0 to 20

[Code]...

i dont know what to do next, all i want is to pass the button mybuttons(x) to mytimer(x) tick event, in which their index number are the same. i want to create one timer per button. how to do that? please help me and post example codes. i've researched the net but i cant understand passing variables, addhandlers, etc. i'm just new to programming object oriented.

View 6 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

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

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

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

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

Use A Background Timer?

Oct 26, 2011

I'm making a small program for a production machine.In the mainform I have several buttons to perform different tasks.Every hour I want to get a message that tells me to calibrate the machine.I think that I need to use a Backgroundworker and a timer.? I'm using VS2010 and VB.NET?

View 2 Replies

Difference Between Timer And Thread?

May 11, 2010

I used Timer in VB. then, I want to convert a program with VB.net. So, I used Thread instead of Timer. Then, I am curious what difference they are?

View 1 Replies

Run Timer On Separate Thread

Jun 2, 2012

I just finished up my space invaders movement and with all the other timers running it really bogs it down. So I think the best solution would be to make the timers run on separate threads. I know roughly how to do this from a old example I read a long time ago. So I just need a simple sample code to refresh my memory please. Maybe something with message boxes or something to demonstrate the process.

View 1 Replies

Extend My Interval Timer Timer To Include Hours In Addition To Minutes And Seconds?

Aug 2, 2010

What I need to do to make this code work for hours as well?[code]...

View 6 Replies

.net - Accurate Windows Timer - System.Timers.Timer() Is Limited To 15 Msec

Jan 15, 2009

I need an accurate timer to interface a Windows application to a piece of lab equipment.I used System.Timers.Timer() to create a timer that ticks every 10 msec, but this clock runs slow. For example 1000 ticks with an interval of 10 msec should take 10 wall-clock seconds, but it actually takes more like 20 wall-clock sec (on my PC). I am guessing this is because System.Timers.Timer() is an interval timer that is reset every time it elapses. Since it will always take some time between when the timer elapses and when it is reset (to another 10msec) the clock will run slow. This probably fine if the interval is large (seconds or minutes) but unacceptable for very short intervals.Is there a function on Windows that will trigger a procedure every time the system clock crosses a 10 msec (or whatever) boundary?

UPDATE: System.Timers.Timer() is extremely inaccurate for small intervals.I wrote a simple program that counted 10 seconds several ways:

Interval=1, Count=10000, Run time = 160 sec, msec per interval=16
Interval=10, Count=1000, Run time = 16 sec, msec per interval=15
Interval=100, Count=100, Run time = 11 sec, msec per interval=110
Interval=1000, Count=10, Run time = 10 sec, msec per interval=1000

It seems like System.Timers.Timer() cannot tick faster that about 15 msec, regardless of the interval setting.Note that none of these tests seemed to use any measurable CPU time, so the limit is not the CPU, just a .net limitation (bug?)For now I think I can live with an inaccurate timer that triggers a routine every 15 msec or so and the routine gets an accurate system time. Kinda strange, but...I also found a shareware product ZylTimer.NET that claims to be a much more accurate .net timer (resolution of 1-2 msec). This may be what I need. If there is one product there are likely others.

View 5 Replies

How To Make A Timer To Work On Another Thread?

Aug 19, 2009

i have a timer and i want its calculation will be done on another thread, since the timer tick event start whenever its enable property is set to true i don't see how to force it to work in another thread.

View 6 Replies

Inconsistant Thread Sleep Timer?

Apr 5, 2011

Ok so I have been playing with VB.net and brainstorming ways to accomplish launching a thread reliably every 60 seconds reguardless of how long the prior thread took to do it's work. Here is my question. Given the following code:

[Code]...

My assumption for this output would be that the time between each line would have to be exactly 5000 milliseconds plus the time it takes to execute the rest of the loop which could vary given that there could be an unknown delay due to disk IO. My problem is that looking at lines 10 and 11 and subtracting gives me a difference of 4,958 milliseconds. So my question is what the heck is going on there? How is it possible to get a difference of less than 5000 milliseconds when I have told the thread to sleep for 5000 milliseconds before completing the process. What am I missing?

View 5 Replies

Timer Within Thread Within Windows Service

Dec 6, 2011

Right now I have a windows service which only task is to gather data from a database with a specific DSN and then send out an email if the data is valid. The service contains a timer which ticks every 5 minuts and performs the tasks above.Now I need to re-write the windows service to be able to run on more than 1 DSN.I was thinking of making several threads inside the windows service and then again have a seperat timer inside each thread.Is this a good idea and how can this be done? I want to avoid having a windows service for each DSN.[code]

View 4 Replies

Using A Timer To Delay Main Thread?

Feb 3, 2011

is the first time I tried to use a timer - can't understand why it doesn't work!I need to suspend the main thread for a preset time 'delaymSecs' then let the thread continue.I tried this code fragment:-

System.Timers
'(etc)
Public

[code].....

View 1 Replies

VS 2010 Incorporate The Timer So Once A Page Loads The Timer Activates?

Jul 4, 2011

How can I incorporate the timer so once a page loads the timer activates, waits a few seconds then I tell my program what to do next.I tried this code but it didnt work:

Timer1.Interval = 5000
Timer1.Enabled = True
Timer1.Start()

[code]....

View 3 Replies

Timer To Run In The Background Whilst Other Code Is Being Processed?

Mar 11, 2010

in my program it has a log in system already done by myself and once logged in you can do whatever i have coded in if you understand my meaning . what i want to add to it is a timer that can be edited that runs as a standby timer like with what a screen saver does and logs out after inactivity for a specified time now i have no idea where to stat with this so if some one could put me in the right direction or an example would be great.so i need it to start a timer once the mouse is not moving and no keyboard keys are being pressed and terminate the timer once keyboard keys are being pressed or mouse is being moved it's for an update that i am releasing on my publishers website for my program?

View 1 Replies

Timer And 64bit Processor - Timer That Doesn't Work?

Sep 30, 2010

Everything is nice and dandy on my pc, then I compile, move it to its final destination and I doesn't work! At first I thought it was a OS problem, but both machines has win7, I then thought it was a compilation problem, installed visual studio on the other pc, recompiled still with no luck, then it dawned on me, may it be a problem of 32bit vs 64bit?The piece of code is this:[code]....

By the way is not a problem of mouse_event, is the timer that doesn't work

View 2 Replies

Timer Control In VB - When I Click Outside Of The Form, The Timer Stops?

Mar 24, 2009

I have a timer in vb.net and it's interval is 1000ms ,. i have placed in it's timer_tick event a code that will print screen the screen and save it to a database.The problem is when i click outside of the form, or loosing the focus of the mouse to the form containing that timer/printscreen, the timer stops. As a result the printscreen also stops.here are it's properties:

generate member = true
interval = 1000
modifiers = friend

View 1 Replies







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