требуется ли блокировка для таблицы данных, созданной внутри метода, который вызывается несколькими потоками в c#? - PullRequest
0 голосов
/ 21 июня 2020

У меня есть этот метод ниже, таблицы данных созданы в текущем методе, и я отправлю эти 4 таблицы данных в sql процедуру, которая возвращает истину / ложь на основе некоторых проверок.

сомнение: для однопоточного приложения отлично работает . в будущем мы планируем реализовать задачи, чтобы несколько задач могли вызывать этот метод, подходит ли этот способ записи для нескольких потоков или мне нужно будет реализовать « lock» .

Мое понимание:

Эти таблицы не используются несколькими потоками, каждый поток имеет свои собственные таблицы данных, поскольку они создаются в текущем методе, поэтому нет необходимости реализовывать блокировку при добавлении столбцов в таблицы данных . Я правильно понимаю?

private static bool ValidateContent()
        {
            DataTable bomdata = DataTables.GetChangeDataTable();
            DataTable rateupdata = DataTables.GetChangeDataTable();
            DataTable domaintabledata = DataTables.GetChangeDataTable();
            DataTable algo = DataTables.GetChangeDataTable();

            _pvCircularInfo.CircularInfo.ForEach(x =>
            {

                x.CircularDetails.Algorithms.ForEach(a => {

                    bomdata.Columns.add(/*adds stmg here to data table*/);
                });

                x.CircularDetails.FormsInfo.risks.ForEach(a => {

                    bomdata.Columns.add(/*adds stmg here to data table*/);

                });

                x.CircularDetails.FormRules.ForEach(a => {

                    bomdata.Columns.add(/*adds stmg here to data table*/);
                });

                x.CircularDetails.Lookuptables.ForEach(a => {

                    bomdata.Columns.add(/*adds stmg here to data table*/);
                });

                x.CircularDetails.DomainTables.ForEach(a => {
                    bomdata.Columns.add(/*adds stmg here to data table*/);

                });

            });
           calls the db proc by sending all 4 data tables thast returns true or false
            return false/false;

        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...