How To Multithread With Timers
Nov 17, 2011how do I multithread using timers. For instance 3 picture boxes that change ever 3 seconds?
View 1 Replieshow do I multithread using timers. For instance 3 picture boxes that change ever 3 seconds?
View 1 RepliesI'm making a type of download manager which downloads parts of a file using HTTPREQUEST.addrange. The parts download without a problem and currently I use 5 instances of the same class to download the parts simultaneously each one downloading a different section of the file. Now my problem is that I don't want to save each part as a file then merge them later, I want to use a singular filestream and append everything asynchronously. In the code below I attempted to use the seek method but it feels like it changes the seek for all of the other parts as well.
[Code]...
I have client/server app.I have a class for the tcpclient and a class for the tcplistenerIn my tcpclient class I have a system.timers.timerThe timer elapsed event fires a public event(in the tcpclient class) which the tcplistener class handles.During debugging I see the timer firing its elapsed event and calling raiseevent on the public method, yet the event is never fired in my tcplistener class.
View 1 RepliesI'm working on a project. It is a windows form app which has a webbrowser. The app navigates to a url automatically, checks the url's document, and jumps to another url (depends on the document). It works fine. But, now, the problem is the project needs check many urls, so, I'm trying to make it as a MDI form project. when the start button clicked, it create a control thread, in the thread, it launchs 10 MDI forms (within main form), each form does the work for different urls. once done, then launch the next 10 urls.
It works. However, I noticed that, although 10 MDI forms are open, the navigating part in their webbrowser seems run in sequencial. I thought these 10 MDI forms will load 10 urls at the same time, do the work at the same time, but I found that it seems they do load urls one by one, not at the same time.
so, I did some research, it seems webbrowser can only be run STA mode. does it mean I can not use multithread to load different urls at the same time?
basically, I want to have a multi tab webbrowser, and navigate to different urls in these tabs at the same time.
the differences between multi threading and background worker and when I should be using either.
View 3 RepliesOn this piece Of code I want to multithread, beginning where the for loop takes the data out of the array arydata. The threads would all do the same task.
View 1 RepliesVB and programming on Windows as such. Mostly c++/gcc/linux. I am trying to build this VB app that shows a streaming video from a camera and that needs to be overlaid with some custom graphics and text. I used the code published here: [URL] to get the capture part to work. It essentially uses the avicap32.dll that most of you would probably know.
My plan:
1) Capture frames using SendMessage(windowHandle, WM_CAP_EDIT_COPY, 0, 0) and then copy from clipboard.
2) Do whatever graphics/text overlay on the obtained bitmap
3) send it to some picturebox on some form that is being shown
4) Do step 1 to 3 in a loop by a spawned worker thread.
Firstly is this a reasonable way to do what I want? or is there a much more efficient/easier way to about?
Now the specific problem: From my main thread directly if I do step 1 to 3 once UIComponent.DrawImage(VideoComponent.GetBitmap()) It shows me once captured image as it should and all is good.
Just to clarify: UIComponent is an object/instance that launches the Form and owns the picturebox I want to display on. VideoComponent is an object/instance that has started the videocapture and owns the picturebox to which the video is being captured. But if I wrap the same call above in a function and launch a thread that would start with that function as its starting point, I see a blank screen. Again, for testing purpose, I am only doing step 1 through 3 just once.
The thread part of the code is like this:
Private drawthread As Thread
public sub main()
drawthread = New Thread(AddressOf threadfunc)
[CODE]........
I have this situation: a Form with a System.Timer in it (with AutoReset = False). The form has its main thread and the timer its own thread too (nothing new here). When the user press a button I need to stop the timer, wait until the timer thread has stopped its execution and do something more.
On the other side, the timer updates an item at the form so BeginInvoke is used. The code looks like this:
Button Code: Private Sub ButtonStop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonStop.Click
[Code]...
The point is that I wait the main thread to let the timer thread to end its work.The problem is that this code deadlocks when the user clicks the button when the BeginInvoke is going to be called. How a simple thing like this one can be done? Looks like I cannot find a good solution to this problem
SERVER
Im using this code:
Imports System.Threading
Imports System.Net.Sockets
[code]....
but when i tried to run the application, it hangs even if i wait several minutes.., is there something wrong with the code..
I have a multithread program and in a thread i read a stram from ftp server and write them to a file and close it and in another thread open saved file and read it for process.but sometime when i want to open saved file i receive a error that say : cannot open file , because another user open it .i create 2 filter that surly file saved and closed , but i don't success.
View 5 RepliesI have a program with 3 forms; each has a different role behind them. Form 1 loads when the program executes and the other 2 load by clicking on buttons from form 1. I would like to implement a multithreaded approach where even after clicking on form2 and form 3 I can still execute other form 1 options while form2 and form 3 contents execute. I read through some tutorials and still not to sure how to implement. I figured I need to create instances of the forms 2 and 3 but how to call the threads and control them? I did try a simple one and had some error concerning delegates.
View 4 RepliesThe server connects, the clients connect, one client sends a message to the server, and the server broadcasts it to the other clients. But what I want to do now is to also have the server communicate with the clients. But when I click on the server form, it freezes, and I cant do nothing.
I think this is because of me not creating a thread for the communication(I saw this on another forum), but I dont know how to do that. I copied basically all the chat program code from a site, and I dont know much of sockets and what not.
i'm doing a chat for a project, and it works like this. The server connects, the clients connect, one client sends a message to the server, and the server broadcasts it to the other clients. But what I want to do now is to also have the server communicate with the clients. But when I click on the server form, it freezes, and I cant do nothing. I think this is because of me not creating a thread for the communication(I saw this on another forum), but I dont know how to do that. I copied basically all the chat program code from a site, and I dont know much of sockets and what not.
View 2 RepliesHow can I use a text box on a multithreaded client so that it will appear in the command line of the multithreaded server?We were given this code to work around/tear apart:
Imports System.Net.Sockets
Imports System.Text
Module Module1
[code]....
i am new with multithreading in vbnet. i got this error.Cross-thread operation not valid: Control 'lvSample' accessed from a thread other than thethread it was created on.this is my code.
Private Sub xFormLoad(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim t As Threading.Thread
[code].....
I have a thread executing the following:
vb
Do UpdateVis()
System.Threading.Thread.Sleep(Interval)
Loop
UpdateVis is as follows:
[Code]...
I am trying to successfully multithread a piece of software I have been working on. I have an array of threads 'gen' already working, calling to a method taking a single integer as a parameter (done via typecasting).Now in this thread, when the function gets processed (for each thread a roughly 500 iteration while loop) the index seems to be getting mixed up. As far as I can tell, my threads are messing with eachother and warping values. Now this is happening in locally declared variables inside this function, not global variables.It may be useful to know that I am using a WebRequest via a call to another method. Don't know if that makes a difference or not.
View 7 RepliesI'm trying to manipulate something that is in a different thread, and I know I need to do something by the way of Invoked procedure, but I'm unclear on how. I looked up some examples here on the forums and tried to follow the basic template, but I continue to have the same problem. how to use invoke correctly.
Private Sub getMessage()
For Me.infiniteCounter = 1 To 2
'Try
[CODE]...........................
I currently have a browser go through the same list of sites one by one and gather updates. The problem though this takes awhile. Can a browser be multithreaded, (so it could visit several sites at a time) and if so would this take up a lot of server resources?
View 2 RepliesI am doing this within a thread:For Each item As ListViewItem In lvUsers.Items and I am getting: Cross-thread operation not valid: Control 'lvUsers' accessed from a thread other than the thread it was created on.I have been able to adjust a control in a way using something like:
Public Delegate Sub ListAddNameInvoker(ByVal text As String)
Public Sub ListAddName(ByVal text As String)
If lvUsers.InvokeRequired Then
[code]....
But how do I get data from a control and pass it to another thread?
I have simple ASP.net web form. With a simple click on a button i need to call a the Multithread process in order to execute my querry in SQL Server DB. I know that my querry willl take up to 45 min to be executed. While the process is running i need to display some status information like: Starting time, Time elapsed, % of completed...So after running the process i got the following error message: "Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding."So i have 2 problems to fix:
Avoid getting timeout while processing/calling the stored procedure. I tried to add cmd.CommandTimeout = 1000 but it didn't work out!
Display correctly Time elapsed and % Completed while processing.
Here's my code in the main form:
Imports System
Imports System.Data
Imports System.Configuration
[code]....
is it a good coding practice to keep timers in a project to a minimum, or does it not really matter?
View 1 Replieshow can I place all timers on a form into a collection
View 2 RepliesI recently upgraded an application from VB 6.0 to VB.NET. This application contains a timer in its form (only one form is there). But after upgrading, the timer is not getting activated. Form is using DefInstance as follows: frmMain.DefInstance.Show()
[Code]...
I have a from with various timers. what is the code to turn off all timers in a form at once?
i all ready tried:
For Each crt As Control In Me.Controls<br/>
If TypeOf crt Is Timer Then<br/>
crt.Stop()<br/>
End If<br/>
Next
Public Class Form1
Dim SW As New Stopwatch
Dim MS As New MenuStrip
Dim Btn As New ToolStripButton
[code]....
Public Class Form1
Public elapsed_time As TimeSpan
Public start_time, stop_time As DateTime
Public txtBreak As String = "180"
[code]....
All the code needs to be controled by seperate timers as the user may need to pause timer3 or timer4 at any one time. The problem I have is that after about 5 minutes the time and elapsed time are about three seconds ahead of the two count down timers.
I'm developing an application to learning purposes only. The application will check some proxies that are in a proxy list.
I did a For Each loop ( to run all the proxies in the listbox ). The problem is some proxies are slow to answer and I must do the application wait some seconds before get the next proxy.
I tired a sleep thread but I don't want the application to be unanswering. There's any chance to help me with the timers?
I tried all possible ways and searched a lot but my problem is each time the timer ticks, it make the full for each loop again instead waiting.
basically what im doing is something similar to this;
Private Sub FirstRoutine()
'This is my first routine, i load a listbox up with a whole
heap of info
[code].....
The below is my program so far
Public Class Form1
Private Display As Boolean
Private WithEvents tmr As Windows.Forms.Timer
[code]....
Upon clicking the button a series of letters are displayed to the screen.I would like to be able to capture the time taken to press the letter shown.