Affiliate Programs | Webmaster Forum | Internet Marketing Seo Forum - EmillionForum
[C#]Multithread class - Printable Version

+- Affiliate Programs | Webmaster Forum | Internet Marketing Seo Forum - EmillionForum (http://emillionforum.com)
+-- Forum: Programming, Computing and Graphics (/Forum-programming-computing-and-graphics)
+--- Forum: General Programming Chat (/Forum-general-programming-chat)
+---- Forum: C, C++, C# (/Forum-c-c-c)
+---- Thread: [C#]Multithread class (/Thread-c-multithread-class)



[C#]Multithread class - BaussHacker - 08-21-2011 09:08 AM

Not tested, but it seems to work.

Just did it now, was a bit bored.

PHP Code:
public enum ThreadStatus
    
{
        
SuccessRunning,
        
FailedToInvoke,
        
FailedToAbort,
        
Closed
    
}
    public class 
ThreadQuery
    
{
        public 
ThreadQuery(int Interval)
        {
            
m_interval Interval;
        }
        private 
int m_interval;
        private 
System.Threading.Thread m_thread;
        public 
event Action Event;

        public 
void Start()
        {
            
m_thread = new System.Threading.Thread(new System.Threading.ThreadStart(Run));
            
m_thread.Start();
            
CurrentStatus ThreadStatus.SuccessRunning;
        }
        public 
ThreadStatus CurrentStatus ThreadStatus.Closed;
        private 
bool Closed false;
        private 
void Run()
        {
            while (!
Closed)
            {
                if (
DateTime.Now >= DateTime.Now.AddMilliseconds(m_interval))
                {
                    try
                    {
                        
Event.Invoke();
                        
CurrentStatus ThreadStatus.SuccessRunning;
                    }
                    catch { 
CurrentStatus ThreadStatus.FailedToInvoke; }

                }
                
Thread.Sleep(1);
            }
            
CurrentStatus ThreadStatus.Closed;
        }
        public 
void Abort()
        {
            try
            {
                
m_thread.Join();
                
m_thread.Abort();
                
CurrentStatus ThreadStatus.Closed;
            }
            catch
            {
                
CurrentStatus ThreadStatus.FailedToAbort;
            }

            
Closed true;
        }
    } 



RE: [C#]Multithread class - Gera - 07-24-2012 01:03 PM

Once i tried using multithreading in windows application.I used AutoResetEvent and WaitForAll..I was getting this error..You can not use MTA in STA.I mean..is it not possible or is there a proper way 2 do so..??