Click here to Skip to main content
15,890,438 members
Home / Discussions / C#
   

C#

 
GeneralMultiple rows selected in Datagrid Pin
Anonymous4-Sep-03 6:20
Anonymous4-Sep-03 6:20 
GeneralRe: Multiple rows selected in Datagrid Pin
Mazdak4-Sep-03 7:29
Mazdak4-Sep-03 7:29 
GeneralRe: Multiple rows selected in Datagrid Pin
Anonymous4-Sep-03 7:36
Anonymous4-Sep-03 7:36 
GeneralRe: Multiple rows selected in Datagrid Pin
Ista4-Sep-03 13:53
Ista4-Sep-03 13:53 
GeneralRe: Multiple rows selected in Datagrid Pin
Ista4-Sep-03 13:53
Ista4-Sep-03 13:53 
GeneralCreateInstance exception Pin
Hans Ruck4-Sep-03 5:18
Hans Ruck4-Sep-03 5:18 
Generaldatabind to datatable.rows.count Pin
troels_sorensen4-Sep-03 3:38
troels_sorensen4-Sep-03 3:38 
GeneralRe: databind to datatable.rows.count Pin
Ista4-Sep-03 13:54
Ista4-Sep-03 13:54 
GeneralRe: databind to datatable.rows.count Pin
troels_sorensen7-Sep-03 6:35
troels_sorensen7-Sep-03 6:35 
GeneralProblems Run WinZip via a SOAP Service in C# Pin
S S Basra3-Sep-03 23:30
S S Basra3-Sep-03 23:30 
GeneralWorking with different image format Pin
Stephane David3-Sep-03 22:16
Stephane David3-Sep-03 22:16 
GeneralRe: Working with different image format Pin
Philip Fitzsimons4-Sep-03 3:00
Philip Fitzsimons4-Sep-03 3:00 
GeneralRe: Working with different image format Pin
Stephane David4-Sep-03 20:14
Stephane David4-Sep-03 20:14 
GeneralTetx to XML Pin
Hojtha Karlsson3-Sep-03 22:13
Hojtha Karlsson3-Sep-03 22:13 
GeneralRe: Tetx to XML Pin
Ista5-Sep-03 3:56
Ista5-Sep-03 3:56 
GeneralSuspendLayout() doen't work on richTextBox Pin
eranas3-Sep-03 21:08
eranas3-Sep-03 21:08 
GeneralRe: SuspendLayout() doen't work on richTextBox Pin
Corinna John5-Sep-03 1:05
Corinna John5-Sep-03 1:05 
GeneralFill the List with Data Set Pin
Birdy3-Sep-03 20:25
Birdy3-Sep-03 20:25 
GeneralRe: Fill the List with Data Set Pin
Braulio Dez3-Sep-03 23:52
Braulio Dez3-Sep-03 23:52 
GeneralDirectX question Pin
Meysam Mahfouzi3-Sep-03 17:21
Meysam Mahfouzi3-Sep-03 17:21 
GeneralRe: DirectX question Pin
TimK3-Sep-03 18:00
TimK3-Sep-03 18:00 
GeneralRe: DirectX question Pin
Meysam Mahfouzi3-Sep-03 18:23
Meysam Mahfouzi3-Sep-03 18:23 
GeneralHelp!!!!!!(at C# of environment use VB function ) Pin
simonasp3-Sep-03 17:12
simonasp3-Sep-03 17:12 
GeneralRe: Help!!!!!!(at C# of environment use VB function ) Pin
Corinna John4-Sep-03 1:48
Corinna John4-Sep-03 1:48 
GeneralThread safety Pin
TimK3-Sep-03 14:34
TimK3-Sep-03 14:34 
Hi, I am trying to get my head around safe thread synchronization.
I think the code below is not thread safe as the Start() method may be called several times which would cause the event to be fired asynchronously.

Any comments?
public class ThreadTest1
{
  public void Start()
  {
    Thread thread = new Thread( new ThreadStart(ThreadMethod));
    thread.Start();
  }

  private void ThreadMethod()
  {
    while (true) 
    {
      Thread.Sleep(1000);
      OnEvent(EventArgs.Empty); 
    }
  }

  public event EventHandler Event;
  protected virtual void OnEvent(EventArgs e)
  {
    if (Event != null)	
    {
      Event(this, e);
    }
  }
}

Would the code below be safe?
I have wrapped the event code in a locked block.
public class ThreadTest2
{
  public void Start()
  {
    Thread thread = new Thread( new ThreadStart(ThreadMethod));
    thread.Start();
  }

  private void ThreadMethod()
  {
    while (true) 
    {
      Thread.Sleep(1000);
      DoEvent(); 
    }
  }

  private void DoEvent()
  {
    lock (this)
    {
      OnEvent(EventArgs.Empty); 
    }
  }

  public event EventHandler Event;
  protected virtual void OnEvent(EventArgs e)
  {
    if (Event != null)	
    {
      Event(this, e);
    }
  }
}

Any comments would be appreciated

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.