Hi Khurram,
Sounds like you have 2 problems:
1) your read_data function is pegging the CPU
2) you are not servicing the message pump on your UI thread (which is
why your UI is not repainting)
To solve #1, you might want to consider putting in a sleep. Hard to
say without knowing what read_data does
To solve #2, you should create a separate "worker" thread for
read_data(), something like this:
private static bool _continue = true;
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(fals e);
Thread thread = new Thread(Program.read_data);
thread.Start();
Application.Run(new Form1());
_continue = false;
}
private static void read_data()
{
while (_continue)
{
// <put your worker code here>
// you might want to consider sleeping like this if you don't want
to peg the CPU
Thread.Sleep(1000);
}
}
There are some more sophisticated things you can do with inter-thread
communication (e.g. have the main thread tell the other thread to
pause processing, etc...), but this should get you started in the
right direction.
Hope that helps,
John
On Feb 7, 6:53 am, abid gee <pk_...@yahoo.comwrote:
Please give a kind look on my question. and please comments.
I am Using C# as development tool of Dot Net 2.0.
I wrote a function read_data() that read data from Serial Port
continuously.Till application gets close.
But When Form loaded read_data() function take tooo much CPU. Even I can
not see Application controls.
Some body told me, Use Threading.
I need your help. I have used Thread just for study purpose. Not for
Professional application.
(I used in Main () function for a dummy application.)
But i don't know how to implement Threads, When a Form gets load?
I would be grateful if you would just mention frew lines.
That supports/give me hint...
Sincerely,
Mr. Khurram Nazir.
*** Sent via Developersdexhttp://www.developersdex.com***