Я создал поток, в котором вызывает веб -сервер - считывает некоторые данные - записывает строки в DataTable < /p>
Мой текущий поток, который - ожидает, пока появятся новые строки - передайте данные в систему < /p>
Проблем DataTable < /p>
Структура кода - это примерно так: < /p>
class DataRetriever
{
Thread GetReport;
private DataTable ServerData;
int rowCount = 0;
private int _lastReadedRowNo = -1;
public GetData()
{
thrGetReport = new Thread(new ThreadStart(fn_thrGetReport));
thrGetReport.Name = "CallServer";
thrGetReport.IsBackground = true;
thrGetReport.Start();
}
//Writer Thread Executes this
private void fn_thrGetReport()
{
for (int i = 0; i < cnt; i++)
{
DataRowCollection drcTemp = server.GetAnswer(parameter);
for (int j = 0; j < drcTemp.Count; j++)
{
ServerData.Rows.Add(drcTemp[j].ItemArray); // Here thread goes in Sleep/wait Mode
Interlocked.Increment(ref rowCount);
}
}
}
//This executes in Current Thread
public bool Read
{
get
{
if (no more data to ask condition)
{
return false;
}
else
{
//wait till new rows are not entered
while (rowCount
Подробнее здесь: https://stackoverflow.com/questions/649 ... -datatable