In this code, when `button1` is clicked twice, it creates 2 separate threads. On one click, it creates a new thread on the heap and field `t1` points to the new thread on the heap. When I click `button2`, it aborts the last thread (which `t1` refers to). 

How do I abort the *other* thread? 

```
Thread t1;
ThreadStart ts1;

private void button1_Click(object sender, EventArgs e)
{
    ts1 = new ThreadStart(myfunc);
    t1 = new Thread(ts1);
    t1.Start();
}

private void button2_Click(object sender, EventArgs e)
{
    t1.Abort();
}

```