Sanırım Thread' ı oluşturmadan önce datagridin source değerini null yaparsanız sorun çözülecektir. Yani aşağıdaki gibi
private void timer1_Tick(object sender, EventArgs e)
{
datagrdMac.DataSource = null;
Thread thread1 = new Thread(new ThreadStart(yeni));
CheckForIllegalCrossThreadCalls = false;
thread1.Start();
}
@Dzyn3 teşekkürler bu şekilde çalıştırdım. Şuana kadar 1 sefer hata verdi onda da artık 1 sn de filan denedim null değerini atıyamadı

. Süper oldu bu...
@rob33n senden de özür diliyorum daha önceden bu kodu söylemiştin ama ben farklı bir noktada kullanmıştım.