.net - Multi-core Processor Pegged Even When All Threads Are Just Sleeping?
Mar 3, 2010
I'm simulating some threading in a Windows Service, and the Thread.Start routine for each of my threads points directly to the following:
Private WithEvents CheckForOrdersTimer As System.Threading.Timer
Private Sub timerCheckForContracts_Tick(ByVal stateInfo As Object)
' Ticks every 5 seconds, then spawns threads until we're at our max
Do
[code]....
the threads aren't even doing anything yet, but with more than two threads running at the same time, my processor (Core 2 Duo 2.4 w/ 4GB) gets pegged and Windows gets really sluggish. According to what I've read, Thread.Sleep shouldn't be consuming any resources at all while it waits, but it may as well be running in a tight timing loop.
EDIT: Per the requests, I've expanded the amount of code I'm using. I was initially doing some database work before spawning each thread, but I've removed it and the processor maximization still occurs with just the code here (and, of course, the OnStart method for the Windows Service.
View 4 Replies
ADVERTISEMENT
Mar 5, 2012
I'm simulating some threading in a Windows Service, and the Thread.Start routine for each of my threads points directly to the following:
Private WithEvents CheckForOrdersTimer As System.Threading.Timer
Private Sub timerCheckForContracts_Tick(ByVal stateInfo As Object)
' Ticks every 5 seconds, then spawns threads until we're at our max
[code].....
View 3 Replies
May 4, 2009
I'm trying to sleep a single thread of code, when i try using System.Threading.Thread, it freezes the whole app, i need it to just freeze a portion of code.
View 11 Replies
Oct 18, 2011
I have a VB.NET app that spawns several threads for performing XML parsing/database interaction. Only one of my cores (only have 2 currently) is being used right now.I've looked at Task Parallelism in .NET 4 but I need to be able to start a task at different times (not all at once).Is it possible to split up the threads (currently 6) so that 3 run on each core? Also, if I don't want to limit my threads to 6, how can I check CPU/memory programmatically to find out if I can start another thread.
View 2 Replies
Jul 14, 2009
I am working on maintaining someone else's code that is using multithreading, via two methods:
1: ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf ReadData), objUpdateItem)
2: Dim aThread As New Thread(AddressOf LoadCache) aThread.Start()
However, on a dual core machine, I am only getting 50% CPU utlilization, and on a dual core with hyperthreadin enabled machine, I am only getting 25% CPU utilization. Obviously threading is extremely complicated, but this behaviour would seem to indicate that I am not understanding some simple fundamental fact?
[code]...
And this is occurring in a recursive function, so the QueueUserWorkItem can be executing multiple times, which in turn then executes exactly one new thread via the aThread.Start
Hopefully that gives a decent idea of how things are happening. under this scenario, should this not theoretically pin both cores, rather than maxing out at 100% on one core, while the other core is essentially idle?
View 6 Replies
Nov 29, 2011
I was going to hijack another, related, thread to ask this, but I figured it derserved its own thread.The question I have is whether or not anybody has done sufficient testing to show whether a mutlithreaded program running on a multi-core system will spread the threads across all available cores, or whether it has some affinity for the core used by the main process (UI thread, or whatever it may be)? The reason I ask is because I remember a discussion over in General Computing where somebody showed that, for at least one case, all the threads were splitting time on a single core of a multi-core processor. I am wondering if that is the typical behavior, or an isolated case?
View 23 Replies
Feb 23, 2009
My application takes the currently logged-in user and uses an a DirectoryServices.DirectorySearcher to pull a few additional detail about them (some properties we have stored in a few custom AD fields, as well as their email address). This works great, though I've always though it was a little slow - my single-threaded code could only make about 2-3 requests/second to AD.
The real problem came when I moved this code to a web server. With multiple simultaneous users, the number of requests/second jumps greatly, and the LSASS.EXE process pegs on my server. I've checked the domain controllers, and they're just fine - the bottleneck is clearly on the application side. I suspect that what's slowing my down is the NTLM/Kerberos challenge/response, and the number of simultaneous requests pegs even the multi-core processor.
Our network policy doesn't allow anonymous reads from AD, so that choice is out. Also, I've tried every member of "AuthenticationTypes" (in the example, I'm using .FastBind), but they all seem to have about the same throughput rate with the same load on the processor.how I might work around this restriction and lower my demands on the processor? Here is the code I'm using - pretty straightforward:
Dim sPath As String = "LDAP://" & stringUserDN
Dim entry As New DirectoryEntry(sPath)
entry.AuthenticationType = AuthenticationTypes.FastBind[code]......
View 1 Replies
Dec 23, 2009
Say I have a code with 3 methods that do some pretty intensive work. Would executing these methods on 3 seperate threads be faster then executing them one after the other on a single core cpu? And what if it's a dual core or HT?
View 8 Replies
Jun 5, 2009
I would like some advice on multi-threading. I currently utilize two threads, one for the GUI, and the other for calculations. This works well, but I want to improve my multi-threading techniques. Currently the data is with the calculation thread, and this occasionally this will cause a slow down. I want to put the data on its own thread. Giving me three threads, Data, UI, and Calculations. This should improve responsiveness, and not be overwhelmingly complex.
My problem is, this no longer fits into the parent child relationship well. All three threads need to interact with each other. My question is, what is the better way of dealing with more than two threads, when all the threads need to interact with each other. Should I pick one thread as the ultimate parent, say the data thread (I pick this one, because it seems to me this thread will be the most free.) Then have the calculation thread and the UI thread children of the data thread. Then when I have a need for the UI thread to explicitly call the calculation thread, I do this through a function in the data thread.
View 2 Replies
Mar 8, 2010
I'm trying to figure out the best way to go about loading and using thousands of sockets at the same time.
View 5 Replies
Apr 3, 2012
ok here is my code :
[Code]...
What's happening is, i see the threads stop after the function dwnld is completed. So i first check for the state (12 means background and unstarted). On case 12 start the thread and in case 16 (stopped) remove that particular thread and add a different thread like i add 10 above. Also there is a check when the i counter reaches last number, restart the whole loop by assigning i=0.
The program downloads some web pages, the url is passed from the listbox2. The geturl will pass the url and remove it from the list. So when the listbox is empty, exit the for loop. But the above code is running for only 11 times and it does not restart. I tried using a lable and goto but it simple hangs. What i want is to maintain 10 threads to keep downloading the web pages and when the list is empty, exit the function.
View 2 Replies
Apr 17, 2010
In one of my multi threading programs I cannot get my threads to abort. I have about 5 threads and the threads starts one at a time. By the time the fifth thread is started the program gets really slow. The program will not execute pass LoadWheelStn1.
Code:
Private Sub LoadWheelStn1()
If sPortOpenFlag = "T" Then
Dim MyThread1 As New Thread(AddressOf ThreadStn1)
[CODE]............
I am using vb 2005
View 5 Replies
Aug 31, 2011
I started a threading project and want to manage my code so that it waits for all the threads to be finished before displaying to the user on the main UI thread that it has completed the task and waiting for the user... I've created a List to manage the threads and a global Boolean, "blnStop"...
[Code]...
View 9 Replies
Oct 1, 2011
I've been writing multi-threaded applications for a couple of years and have started reading about the Task class. It looks like it handles mutex and synchronous/asynchronous threading in an easier to follow fashion. I was just wondering if you the community likes writing threads the old way or the 4.0 tasking applications. Lastly, I thought multi-threading was parallel computing. But I was reading that there are special task etc. parallel functions.
View 2 Replies
Mar 2, 2009
I'm trying to make a multi-threading app which extracts the names from my site. I have 1000 pages celebrity related. The urls are on a listbox List1 and the number of threads are specified in TextBoxThreads I would like each thread take care of a coresponding url on list, when they finish go to the next one and so on (for each thread a url)
[Code]....
View 10 Replies
Jan 29, 2010
I'm using VB 2008, and I have a dual core computer.Is it possible to make a code that sends one application or program in 1 core, and other application in the other core?
View 1 Replies
Oct 22, 2009
I have an application for PDAs with a long running process, and I'm getting the problem that the PDA is going to sleep before the process has completed.
I haven't got any control over the power settings on the PDA, does anyone know a good way for my application to stop the PDA from going to sleep?
View 2 Replies
Apr 12, 2010
The problem that I'm encountering right now is that I can't seem to get my program to wait for a couple seconds for another application to load before it starts to check if it's open. Here's what I've got (feel free to tell me its a terrible way of writing!):
Private Sub Running_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
Main.Enabled = False
[Code]...
So if I don't have the sleep function then oasicer hasn't loaded and it says it's finished straight away, but if I call a 5s sleep then it crashes, and not for just 5 sec. Is there a replacement for this line? Something that would just delay going to the while loop?
View 10 Replies
Feb 13, 2012
I have a VB .Net service, which uses System.Threading instead of a timer to basically do what a timer should do. My problem is stopping the service while the thread is in its sleep state. See the code below:
Imports System.Threading
Public Class AService
Private stopping As Boolean[code].....
If say 1 minutes after the service starts, it can not be stopped until its 15 minute interval ticks and the thread wakes. Is there any way to catch the signal that the service is attempting to stop, and interrupt the thread?
View 3 Replies
Oct 19, 2011
I just had a new, last-minute idea on to take on a task, so I am running to StackExchange for quick help.
What I want to do is execute a series of methods right in a row, each in their own threads. I want the application to wait until all of these threads are completed, after which the program will resume. It also has to use managed threading (thread pool).
What quick examples could you provide to help me along the way? If it's too complex, what things should I know about so that I can Google it on my own?
View 1 Replies
Dec 30, 2009
I have a main thread which is designed to be a batch processor - it spawns a series of 'child' threads from a loop (which can vary in terms of the no of items) - see below
[Code]...
However, each of the 'child' threads could take anywhere from milliseconds to about a minute to process - depending on the complexity of each calculation. There may also be a large number of child threads - e.g 100s. Creating large numbers of child threads is not efficient. I therefore want some way to effectively queue each child thread (and cancel if the process is taking too long to complete). Autoevents seems like one way of doing this, but the only examples I can find seem to assume there are two different processes on seperate threads, not one process being repeated.
View 4 Replies
Feb 9, 2011
i have intel core quad cpu but my program cant use more than one of cores(it use 25% of cpu power but i want use 50% and more).
affinity is "<All Processors>" and all of cores are selected.
is there any way can use more than 50% of cpu power.
View 6 Replies
Dec 21, 2009
how i can set a certain thread to run on the 2nd core for eg...
View 8 Replies
Oct 15, 2010
For loop CPU 25% single core
View 6 Replies
May 20, 2012
I've been trying, without any luck whatsoever, to figure out how to use the Core Audio API in VB 2010. I started by downloading a wrapper dll located here: [URL]
[Code]...
View 2 Replies
Aug 15, 2010
hi all is there any code to get motherboard or processor id?
View 2 Replies
Aug 15, 2011
i have 1 old and 1 new pc and i want to use old pcs processor :D (it need for my experiments :icon_evil: lol just joking ) i know i dont need this pcs power but i dont want to junk my other pc is there any way to do it.i just need how can i connect them?i ll write a library for other pcs and i give a order to use bla bla functions and i want it says return information to my new pc. i know we have network delay. but for example network rendering its accelerates the process too much.i want working in partnership this two pcs for my programs?
View 1 Replies
Feb 10, 2010
I'm adding multi-threading facilities for the first time. I have a function that is wrapped to be run in a separated thread. This function retrieves data (text) from a combobox and it works for sure without multi-threading.
When I call it as multi-threaded, I get the following error when I try to retrieve the data from the cmobobox: Cross-thread operation not valid: Control 'cmb1stBL' accessed from a thread other than the thread it was created on.
It looks like a restriction of thread-safety... I assume that the child thread cannot read from his parent, to make sure that he doesn't change his parent data. So how can I read the data from the combobox? Should I read the comoboxbox data before calling the child thread?
View 4 Replies
May 14, 2011
I have a need to build an app that will access about 10 websites and pass data to them, etc.I've read about something called multi-threading when searching Google. I've also seen people say that they use multiple browsers.Which route is better to use? I figure if you have to do some sort of multi-threading that you would access a single browser?
View 2 Replies
Jul 26, 2011
My site has been running fine for sometime now until recently I see in the event viewer a null reference exception in the DNN core:
DotNetNuke.Common.Globals.GetStatus() in
F:BuildsMaintenanceWorkingDirectoryLibraryCommonGlobals.vb:line
1125 at DotNetNuke.Common.Initialize.InitializeApp(HttpApplication
app) in
[code]....
the line 1125 is:
_Status = UpgradeStatus.None
Which is a property of the Globals class and an Enum Also when this happens it doesnt just do it once then sort its self it does it roughly every minute for an hour or so.I made sure all dataprovider.instances are either in a using or a try catch finally or self closing(if the reader is not used)?
View 2 Replies