|
Are you really using Multicore ??
The thread can only use Multi cores if its run using Parallel Extension. Its there if you add the Threading.dll that comes with the extension pack.
Otherwise, the process can run in a single core.
|
|
|
|
|
That isn't even true. Why do you think it is?
|
|
|
|
|
Then what does Parallel extension do ?
Tricky Programming on Multi-Core Processors[^]
You can see, threads running concurrently in more than one core if Parallel extension is used. Does this work with normal threads as well ?
If this is so, then I wonder what are the advantages of Parallel Extension ever.. And also why one would ever use an object of Task .
|
|
|
|
|
The parallel extensions have task stealing and convenient constructs such as Parallel.For
The parallel extensions can use multiple cores because they use threads
|
|
|
|
|
Thank you so much.
|
|
|
|
|
Hi,
AFAIK you can't. Threads can run on any available core, and they are not restricted to a single core, so they may hop over to another one after a thread switch. You can reduce that freedom by setting ThreadAffinity/ProcessorAfinity but you really have to know your stuff to take advantage of that.
Luc Pattyn
I only read code that is properly indented, and rendered in a non-proportional font; hint: use PRE tags in forum messages
|
|
|
|
|
On Vista or higher there is a new function called
GetCurrentProcessorNumber. I think thats exactly what you are looking for.
Greetings
Covean
|
|
|
|
|
Right. The Win32 functions GetCurrentProcessorNumber and GetCurrentProcessorNumberEx are available through P/Invoke since Vista/Win7 respectively.
Luc Pattyn
I only read code that is properly indented, and rendered in a non-proportional font; hint: use PRE tags in forum messages
|
|
|
|
|
What about NTGetCurrentProcessorNumber ? Seems to be available on older OS's
[DllImport("ntdll"), SuppressUnmanagedCodeSecurity]
public static extern int NtGetCurrentProcessorNumber();
|
|
|
|
|
The doc says: "NtGetCurrentProcessorNumber may be altered or unavailable in future versions of Windows. Applications should use the GetCurrentProcessorNumber function instead."
It is available on my Vista system; don't know about Win7.
Luc Pattyn
I only read code that is properly indented, and rendered in a non-proportional font; hint: use PRE tags in forum messages
|
|
|
|
|
|
I want to measure core thruput on variety of programs.
|
|
|
|
|
Thanks all ..
I will go t check your answers and will come to give feedback...
|
|
|
|
|
Hi all ..
The GetCurrentProcessorNumber() work wonderful ..
so thanks to all the helpers
|
|
|
|
|
Hi,
Please mark the helpful answer(s) by clicking "Good Answer". I've done it for you now.
“Follow your bliss.” – Joseph Campbell
|
|
|
|
|
I did do that..
|
|
|
|
|
Hi again..
Is there any another solution for win XP ?
I try this:
<br />
[DllImport("ntdll"), SuppressUnmanagedCodeSecurity]<br />
public static extern int NtGetCurrentProcessorNumber();<br />
and I get this exception:
System.EntryPointNotFoundException was unhandled
Message="Unable to find an entry point named 'NtGetCurrentProcessorNumber' in DLL 'ntdll'."
Source="XP_Multicore_try_0"
TypeName=""
StackTrace:
at XP_Multicore_try_0.Program.NtGetCurrentProcessorNumber()
at XP_Multicore_try_0.Program.loop() in C:\Documents and Settings\evyatarv\Desktop\XP_Multicore_try_0\XP_Multicore_try_0\Program.cs:line 24
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:
|
|
|
|
|
hello,sir i have designed a software in c# .net.i have used the my sql databse.its working ok in my machine,becoz i have created it in my machine.packaging is ok.i have generated the sql script.when i am instaling this software instalation becomes successful,and also mysql databse.but when i am going to access the page its showing unhandle exception error.i have not used crystal report in my project.please help how will i instal it in other machine??its urgent.give me step by step procedure.
|
|
|
|
|
Step by Step procedure for what? All you have said is how successfully each part has gone. No, information about your problem except you have an unhandled exception.
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
You say a lot for someone who really tells us nothing. What is the exception ? Do you have .NET installed on the other machine ?
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
I use API following to disable minimize, maximize box in windows. But i can't do that with restore button. I'm quite confused.
SetWindowLong(hwnd, GWL_STYLE,0x16CC0000);
0x16CC0000: remove maximize, minimize box. But i can't find the other code for restore box.
|
|
|
|
|
can't you just change the FormBorderStyle to SizeableToolWindow or FixedToolWindow?
Here we rest... So why not make the best of it?
|
|
|
|
|
<can't you="" just="" change="" the="" formborderstyle="" to="" sizeabletoolwindow="" or="" fixedtoolwindow?="">
I load another application into winform and i want it not to resize. So i must use API to control. I think i can't use FormBorderStyle or FixedToolWindow.
|
|
|
|
|
if you don't want to allow the form to be resized you can set the MaximumSize and MinimumSize properties of the form so it will keep the current size.
if you already set the size of your form you can do this:
yourForm.MaximumSize = yourForm.Size;
yourForm.MinimumSize = yourForm.Size;
then it can't be resized even if the restore button isn't disabled
Here we rest... So why not make the best of it?
|
|
|
|
|
But i'm loading another application (word office, eg.) into that form. So, when i resize the "inside" application, it also resizes the outside form too despite you fixing size of the outside form. I suppose that we must use some API functions to solve but i don't know exactly.
|
|
|
|