Ажиллах боломжтой ба Thread хоорондын ялгаа

Агуулгын хүснэгт:

Ажиллах боломжтой ба Thread хоорондын ялгаа
Ажиллах боломжтой ба Thread хоорондын ялгаа

Видео: Ажиллах боломжтой ба Thread хоорондын ялгаа

Видео: Ажиллах боломжтой ба Thread хоорондын ялгаа
Видео: Гар утасны дата хэрхэн ажилладаг вэ? | Stories S1:E6 2024, Арваннэгдүгээр
Anonim

Гол ялгаа – Ажиллуулах боломжтой ба Thread

Гүйцэтгэж байгаа программыг процесс гэж нэрлэдэг. Процессыг хэд хэдэн дэд процесст хувааж болно. Жишээлбэл, Microsoft Word бол процесс юм. Үүний зэрэгцээ үг үсгийн алдаа, дүрмийн алдааг шалгадаг. Энэ бол дэд процесс юм. Эдгээр дэд процессуудыг thread гэж нэрлэдэг. Multithreading гэдэг нь олон урсгалыг нэгэн зэрэг гүйцэтгэх үйл явц юм. Урсгалтай програмуудыг өөр өөр програмчлалын хэл ашиглан бүтээж болно. Runnable болон Thread нь Java програмчлалтай холбоотой. Java-д Runnable интерфэйсийг хэрэгжүүлэх эсвэл Thread классыг өргөтгөх замаар thread үүсгэх хоёр арга байдаг. Runnable-ийг хэрэгжүүлэх үед олон thread нь ижил thread объектыг хуваалцаж болох бөгөөд Extending Thread ангилалд урсгал бүр түүнтэй холбоотой өвөрмөц объекттой байдаг. Энэ бол Runnable болон Thread хоёрын гол ялгаа юм.

Runnable гэж юу вэ?

Утас зарим мужийг дамждаг. "Шинэ" нь утаснуудын амьдралын мөчлөгийн эхлэл юм. Start() арга нь шинэ хэлхээг дуудсаны дараа энэ нь ажиллах боломжтой болно. Хэрэв thread төлөвлөгч нь хэлхээг сонговол энэ нь ажиллаж байгаа төлөв рүү шилжинэ. Хэрэв уг утас нь даалгаврыг гүйцэтгэх өөр хэлхээг хүлээж байгаа бол хэлхээ нь төлөвийг хүлээж байна. Утас нь ажлыг дуусгасны дараа дуусгавар болох төлөвт очно.

Runnable интерфэйсийг ашиглан хэлхээг хэрэгжүүлэх боломжтой. Доорх хөтөлбөрийг үзнэ үү.

Ажиллах боломжтой ба Thread хоорондын ялгаа
Ажиллах боломжтой ба Thread хоорондын ялгаа

Зураг 01: Ажиллуулах боломжтой интерфэйс ашиглан хэлхээ үүсгэх Java програм

Дээрх программын дагуу Runnable Demo анги нь Runnable интерфейсийг хэрэгжүүлдэг. run() арга нь Runnable интерфэйсийг хэрэгжүүлдэг класс дотор байдаг. Энэ нь утас руу орох цэг юм. Логик нь run() аргад байдаг. Үндсэн программ дээр Runnable Demo ангиас үүсгэсэн объектыг тодорхойлж thread үүсгэнэ. Энэ нь t1. Start() аргыг t1 ашиглан дууддаг.

Доорх хөтөлбөрийг үзнэ үү.

Ажиллуулах боломжтой ба Thread_зураг 02-ын ялгаа
Ажиллуулах боломжтой ба Thread_зураг 02-ын ялгаа

Зураг 02: Ажиллуулах боломжтой интерфэйсийг хэрэгжүүлснээр давталтыг гүйцэтгэх Java программ

Дээрх жишээний дагуу Runnable Demo анги нь Runnable интерфейсийг хэрэгжүүлдэг. Thread-ийг ашиглан гүйцэтгэх логикийг run() аргаар бичсэн. Үндсэн программ дээр Runnable Demo ангиас үүсгэсэн объектыг тодорхойлж thread үүсгэнэ. Энэ нь t1. Дараа нь start() аргыг t1 ашиглан дуудна.

Thread гэж юу вэ?

Thread үүсгэх өөр нэг арга бол Thread классыг өргөтгөх явдал юм. Энэ нь гурван алхамаас бүрдэнэ. Нэгдүгээрт, анги Thread классыг өргөтгөж байна гэж зарлах хэрэгтэй. Дараа нь run() аргыг бичих хэрэгтэй. Энэ нь урсгалын гүйцэтгэх ёстой алхамуудын дараалалтай. Төгсгөлд нь thread-ын объектыг үүсгэсэн бөгөөд thread-ийн гүйцэтгэлийг эхлүүлэхийн тулд start() аргыг дууддаг. Доорх хөтөлбөрийг үзнэ үү.

Ажиллаж болох ба Thread_зураг 03-ын ялгаа
Ажиллаж болох ба Thread_зураг 03-ын ялгаа

Зураг 03: Thread ангиллыг өргөтгөдөг Java програм

Дээрх программын дагуу MyThread анги нь Thread классыг өргөтгөдөг. Энэ нь ажиллуулах аргыг хүчингүй болгодог. run() арга нь thread-ээр гүйцэтгэх логикийг агуулдаг. Энэ нь утас руу орох цэг юм. Дараа нь thread объект үүсгэгдэнэ. Энэ нь thread1 юм. Сэдвийг start() аргыг ашиглан эхлүүлнэ. Энэ нь ажиллуулах дуудлагыг () аргыг гүйцэтгэх болно.

Thread ангиллыг өргөтгөх хоёр ангийн жишээ програм нь дараах байдалтай байна.

Ажиллах боломжтой ба Thread хоорондын гол ялгаа
Ажиллах боломжтой ба Thread хоорондын гол ялгаа

Зураг 04: Thread ангиллыг өргөтгөдөг хоёр анги бүхий Java програм

Дээрх хөтөлбөрийн дагуу А болон В анги хоёулаа Thread ангиллыг өргөжүүлж байна. Хоёр анги хоёулаа run() аргыг хэрэгжүүлдэг. Үндсэн урсгал нь main() аргыг гүйцэтгэдэг. Үндсэн утас үхэхээс өмнө thread1 болон thread2-г үүсгэж эхэлдэг. Үндсэн утас үндсэн аргын төгсгөлд хүрэхэд гурван утас зэрэгцээ ажиллаж байна. Утаснууд нь гаралтыг өгдөг тодорхой дараалал байдаггүй. Сэдвийг эхлүүлсний дараа тэдгээрийг гүйцэтгэх дарааллыг шийдэхэд хэцүү байдаг. Тэд бие даан ажилладаг.

Runnable болон Thread хоёрын ижил төстэй талууд юу вэ?

Хоёулаа Java дээр хэлхээ үүсгэхэд ашиглаж байна

Runnable болон Thread хоёрын ялгаа юу вэ?

Runnable vs Thread

Runnable нь Java-д олон хэлхээнд ижил хэлхээний объектыг хуваалцах боломжийг олгодог хэлхээ үүсгэх интерфейс юм. Thread нь Java хэл дээрх урсгал бүртэй холбоотой өвөрмөц объект бүхий хэлхээ үүсгэх анги юм.
Санах ой
Runnable-д олон хэлхээ ижил объектыг хуваалцдаг тул бага санах ой шаарддаг. Thread ангид хэлхээ бүр өвөрмөц объект үүсгэдэг тул илүү их санах ой шаарддаг.
Чадлыг өргөтгөх
Runnable интерфэйсийг хэрэгжүүлсний дараа энэ нь ангиа өргөтгөх боломжтой. Олон өв залгамжлалыг Java хэл дээр дэмждэггүй. Thread классыг сунгасны дараа энэ нь өөр ямар ч ангийг өргөтгөх боломжгүй.
Кодын засвар үйлчилгээ
Ажиллуулах боломжтой интерфэйс нь кодыг илүү найдвартай болгодог. Thread ангид засвар үйлчилгээ хийх нь цаг хугацаа их шаарддаг.

Хураангуй – Ажиллуулах боломжтой ба Thread

Одоо олон ажлыг нэгэн зэрэг гүйцэтгэхийн тулд процесс нь олон дэд процессуудад хуваагддаг. Эдгээр дэд процессуудыг thread гэж нэрлэдэг. Ажиллах боломжтой интерфейсийг хэрэгжүүлэх эсвэл Thread Class-ыг өргөтгөх замаар thread-ийг үүсгэж болно. Thread ангиудыг өргөтгөхөд хялбар боловч энэ нь илүү сайн Объект хандалтат програмчлалын практик биш юм. Runnable-г хэрэгжүүлэх үед Thread ангиллыг өргөтгөхөд олон урсгал нь ижил thread объектыг хуваалцаж болно. Энэ бол Runnable болон Thread хоёрын ялгаа юм. Thread ангид олон объект үүсгэх нь илүү их санах ой зарцуулдаг.

Runnable vs Thread-ийн PDF файлыг татаж авах

Та энэ нийтлэлийн PDF хувилбарыг татаж аваад офлайн зорилгоор ашиглах боломжтой. PDF хувилбарыг эндээс татаж авна уу. Ажиллуулах боломжтой ба Thread хоорондын ялгаа

Зөвлөмж болгож буй: