Олий таълим ўқув режаларидаги фанларга



Download 4,03 Mb.
bet87/102
Sana23.02.2022
Hajmi4,03 Mb.
#136190
1   ...   83   84   85   86   87   88   89   90   ...   102
Bog'liq
Dasturlash asoslari majmua

Элемент

кўриниши

вазифаси

CurrentThread

Статик ҳусусият

Бажарилаётган оқимга ҳаволани қайтаради (фақат ўқиш учун)

Name

Ҳусусият

Оқимнинг матнли номини ўрнатиш

Priority

Ҳусусият

Оқим приоритетини қабул қилиш/ ўрнатиш (ThreadPriority қийматларини санаш )

ThreadState

Ҳусусият

Оқим холатини қайтаради ( ThreadState қийматларини санашда фойдаланилади)

Abort

Метод

ThreadAbortException истисно вазиятини юзага келтиради. Бу методни чақириш оқим ишини тўхатади.

Sleep

Статик метод

Жорий оқим ишини кўрсатилган вақтга тўхтатади

Interrupt

Метод

Жорий оқим ишинии тўхтатади

Join

Метод

Чақирувчи оқимни бошқа оқим тугагунча ёки ажратилган вақт мобайнида тўхтатиб туради ва оқим ишини тугатади.

Resume

Метод

Иши тўхтаган оқимни ишга туширади

Start

Метод

ThreadStart делегати билан аниқланган оқимни ишга туширади

Suspend

Метод

Оқим ишини тўхтатади. Агар бу вақтда оқимнинг иши тўхтаган бўлса, у холда бу буйруқ бекор қилинади

БИргаликда битта коддан фойдаланувчи бир нечта оқимларни шакллантириш мумкин. Намунаси 25.7-листингда келтирилган
25.7-листинг. Би тта объектдан фойдаланувчи бир нречта оқимлар.
using System;
using System.Threading;
namespace ConsoleApplication1
{
class Class1
{ public void Do()
{
for ( int i = 0; i < 4; ++i )
{ Console.Write( " " + i ); Thread.Sleep( 3 ); }
}
}
class Program
{ static void Main()
{
Class1 a = new Class1();
Thread t1 = new Thread( new ThreadStart( a.Do ) );
t1.Name = "Second";
Console.WriteLine( "Оқим " + t1.Name );
t1.Start();
Thread t2 = new Thread( new ThreadStart( a.Do ) );
t2.Name = "Third";
Console.WriteLine( "Оқим " + t2.Name );
t2.Start();
}
}
}
Листинг 25.7. Потоки, использующие один объект
Ушбу дастур натижаси қуйидагича:
Оқим Second
Оқим Third
0 0 1 1 2 2 3 3
Экранга чиариш вариантлари турлича бўлиши мумкин, чунки битта оқим иккинчиси томонидан номаълум вақт мобайнида тўхтатилади.
Код блогидан жорий вақтда фақат битта оқим томонидан фойдаланиши учун lock операторидан фойдаланилади. Бу операторнинг ёзилиши қуйидагича:
lock ( ифода ) операторлар блоги
Бу ерда ифода блокировка қилинадиган объект. Оддий методлар учун ифода сифатида this , статик методжлар учун эса typeof (class) хизматчи сўзидан фойдаланилади. Операторлар блоги коднинг блокировка қилиниши талаб этилган критик секциясини кўрсатади. Масалан, илгари келтирилган Do методида келтирилган операторларни блокировка қилиш қуйидагича амалга оширилиши мумкин:
public void Do()
{
lock( this )
{
for ( int i = 0; i < 4; ++i )
{ Console.Write( " " + i ); Thread.Sleep( 30 ); }
}
}
Методнинг бундай вариант учун дастур қуйидагича натижа беради:
Оқим Second
Оқим Third
0 1 2 3 0 1 2 3

    1. Download 4,03 Mb.

      Do'stlaringiz bilan baham:
1   ...   83   84   85   86   87   88   89   90   ...   102




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish