ПредишенСледващото

Работещи кода в C # ?? изцяло ти, когато се започне с метода на Майн. Главна метод - представлява основната нишка приложение. Поток е последователност от операции, извършвани в програмата. Основната нишка може да работи на множество подчинява ?? ennyh или кажете работни потоци. Всеки поток се извършва самостоятелно, или някаква функция. Смята се, че в този случай, програмата се паралелизирано, т. Е. разделен на няколко потоци, които се изпълняват паралелно. В действителност, случаи ?? Е на сериен компютър изцяло ?? д нишки работят малки възможности една след друга, поради което потребителят създава илюзията за паралелна работа. В реалната печалба на време се получава само когато потоците използват различни хардуерни ресурси на компютъра и / или за мулти-процесорни машини.

Многонишковите система е капсулиран в класа по темата. Този клас е декларирано като запечатани (запечатан) клас, това е, от това не може да доведе до нов клас. В клас Тема ?? ЕХО определя редица свойства и методи за контрол на потока.

Важно е да се отбележи, че за да се създаде нишка е много важно да се създаде обект от класа Thread.

Един от дизайнерите на този клас е, както следва:

обществена тема (ThreadStart започнете)

ThreadStart тип обявен в System.Threading пространството от имена с помощта на ключовата дума и делегатът има следния подпис:

обществен делегат невалидни ThreadStart ();

Да предположим, например, заглавието на стрийминг функции - нищожно funcThread (), а след това да започне изграждането на обект:

ThreadStart започне = нов ThreadStart (funcThread);

Интериорен дизайнер ?? egata ThreadStart когато един обект, предавана на името на функцията, която ще се извършва в поток.

Следващата стъпка е много важно да се създаде поток обект, минавайки конструктора на класа започне Тема обект като параметър:

Тема thrd = нова Тема (старт);

След като създадете поток обект е от изключително значение, за да започнете стрийминг функция да изпълнява, като се обадите Старт, с помощта на thrd връзка:

Streaming обект с името Имотът може да бъде назначен neĸᴏᴛᴏᴩᴏᴇ име:

strig пМ = thrd.Name;

Потокът е активен, независимо от това дали той е в състояние да спре или не, до тогава, до приключване на това движение функция. След приключване на функцията за стрийминг поток е унищожен. Такова спиране на потока се счита за нормално. За да разберете дали активен поток да бъде или да не можете да използвате свойствата на IsAlive, само за четене. Имотът се връща истина, ако конецът е активен и невярно (фалшиво), ако не. Този имот може да се използва за определяне на момента на закриване ?? eniya работния процес. Прекратяване на работата поток се определя по ?? ennoe време, като използвате статичен метод:

публично статично невалидни Sleep (време вътр)

клас тема, където параметър време задава времето в милисекунди.

разгледаме един пример, който показва посочения материал за фиксиране на материала:

Console.WriteLine ( "Основната нишка е завършен.");

В това приложение, обявен клас MyThread. MyThread клас конструктор създава поток обект с помощта на ред код:

thrd = нова Тема (нов ThreadStart (this.FnThr));

Тогава стрийминг обект се определя името, ĸᴏᴛᴏᴩᴏᴇ конструктор приема като параметър и се стартира по метода Start () поток, който води до стрийминг на повикване метод FnThr ().

В FnThr () метод за преход, който "открива" от 0 до 4. Преди да влезе метод контур отпечата на конзолата стартира на името на потока, а след края на цикъла - името на потока е завършил работата си. Метод повикване Sleep (), в организма ?? д FnThr () метод на цикъла предизвиква потока, от който е наречен за спиране на изпълнението, за период от време, определен в милисекунди.

При метода на Main (), когато следните инструкции за създаване на пет от обектите на тема класа:

// Създаване на масив от връзки към стрийминг сайтове

MyThread [] т = нов MyThread [5];

// Създаване на обекти MyThread клас.

за (Int J = 0; J

МТ [J] = нов MyThread ( "потомък #" + j.ToString ());

След създаването на потоци и да ги пуснете да извършите клас конструктор MyThread. приложение се изпълнява главния поток, а именно, методът на Main () и пет филиал потоци.

Използването цикъл:

за (Int J = 0; J

живи = живеят | МТ [й] .thrd.IsAlive;

Main () метод чака нишките на завършване.

В примера, завършването на потока се определя чрез IsAlive на метод (). Вторият метод, който позволява на "чакам" завършването на потока на метода е да се обадите на присъединяване ().

Присъединете () метод, докато чака на потока, за които той се нарича, е завършен. При използване на този метод е наложително да бъдат предпазливи. метод на присъединяване () не може да се ползва за стартиране ?? бивш Sun потоци да работят паралелно. Фактът, че на поканата на присъединяване () метод води до запушване започне не работи конци до завършването на Sun ?? бивши потоци, за които се нарича метод.

виж също

ПОТОЦИ Съществуват различни дефиниции на понятието "поток", включително "единица за изпълнение", "отделна програма тезгяха" или "предмет на планиране на същността на този процес." Въпреки, че всеки един от тези определения по същество е правилно, нито един от. [Прочети още].

ПОТОЦИ Съществуват различни дефиниции на понятието "поток", включително "единица за изпълнение", "отделна програма тезгяха" или "предмет на планиране на същността на този процес." Въпреки, че всеки един от тези определения по същество е правилно, нито един от. [Прочети още].

Работа с файлове Пример за работа с файл Разбиране потоци за работа с файлове, да работи с файлове за работа с файлове в езика C ++ използва три вида потоци: · въвеждане. [Прочети още].

Свързани статии

Подкрепете проекта - споделете линка, благодаря!