O‘zbеkistоn rеspublikasi оliy va o‘rta maхsus ta’lim vazirligi urganch davlat universiteti fizika-matematika fakulteti


throws  IOException{      token .nextToken();      return


Download 1.31 Mb.
Pdf ko'rish
bet15/15
Sana03.04.2020
Hajmi1.31 Mb.
1   ...   7   8   9   10   11   12   13   14   15

throws
 IOException{ 
 
 
token
.nextToken(); 
 
 
return
 
token
.
sval

 

 
public
 
static
 
void
 fullMatrix() 
throws
 IOException{ 
 
 
n
=readInt(); 
 
 
a
=
new
 
int
[
n
][
n
]; 
 
 
for
 (
int
 i = 0; i < 
n
; i++) { 
 
 
 
for
 (
int
 j = 0; j < 
n
; j++) { 
 
 
 
 
a
[i][j]=readInt(); 
 
 
 

 
 
 
 
 
 

 

 
public
 
static
 
void
 Matrix(){ 
 
 
for
 (
int
 i = 0; i < 
n
; i++) { 
 
 
 
for
 (
int
 j = 0; j < 
n
; j++) { 
 
 
 
 
System.
out
.print(
a
[i][j]+ 
" "
); 
 
 
 
 
 
 
 
 

 
 

 

 
public
 
static
 
void
 showMatrix(){ 
 
 
for
 (
int
 i = 0; i < 
n
; i++) { 
 
 
 
for
 (
int
 j = 0; j < 
n
; j++) { 
 
 
 
 
System.
out
.print(
a
[i][j]+ 
" "
); 
 
 
 

 
 
 
System.
out
.println(); 
 
 


 
193
 

public
 
static
 
void
 main(String[] args) 
throws
 
IOException{ 
 
 
token
=
new
 StreamTokenizer(
new
 BufferedReader(
new
 
InputStreamReader(System.
in
))); 
 
 
fullMatrix(); 
 
 
showMatrix(); 
 


Ko’p oqimli dasturlash. 
Dasturlashda  shunday  jarayonlar  borki,  ular  parallel  hisoblashlarni  talab  qiladi. 
Bular  parallel  algorimtla  rorqali  yoritiladi.  Ushbu  jarayonlarni  hal  qilishda  Java 
dasturiy ta’minotida “Thead” sinfidan foydalaniladi. 
Ushbu  jarayonni  amalga  oshirish  uchun  obyektga  yo’naltirilgan  dasturlash 
tillarida  maxsus  sinflar  mavjud.  Shunday  jarayonlarni  dasturlash  uchun  biz  java 
dasturlash  tilidagi  “Thread”  ni  ko’rib  chiqamiz.    Ushbu  sinfdan  foydalanishni 
tushunish uchun oddiy ekranga chiqarish masalasini qaraymiz. 
Yuqoridagi sinfda ikkita oqim yaratilgan. Bu oqimlarni obyekt deb qaraymiz. A 
obyekt  va  B  obyekt.  A  obyektni  yaratish  uchun  thread  sinfidan  foydalanamiz.  Bu 
obyektni  yaratishda  runnable()  obyektidan  foydalanamiz.  Chunki  bu  obyektni 
tarkibida run() metodi mavjud. Bu metodni o’zimiz qayta yozib olamiz. Bu oqim ham 
huddi shunday yaratiladi. Bu oqimni yaratish uchun shart metodidan foydalanamiz. 
  Ko’p  oqimli  jarayonlarni  tushunish  uchun  quyidagi  masalani  qaraymiz.1  chi 
oqimda 1 dan 100 gacha bo’lgan sonlarni ekranga chiramiz. 
Masala:  1  chi  oqimda  1  dan  100  gacha  keyingida  100  dan  300  gacha  bo’lgan 
sonlar ekranga chiqarilsin. 
 
public
 
class
 Misol1 { 
 
public
 
static
 
void
 main(String[] args){ 
 
 
Thread a=
new
 Thread (
new
 Runnable() { 
 
 
 
@Override
 
 
 
 
public
 
void
 run(){ 
 
 
 
 
for
(
int
 i=1;i<=100;++i){ 
 
 
 
 
 
System.
out
.println(i); 
 
 
 
 

 
 
 

 
 
},
"A"
); 
 
System.
out
.println(
"--------------"
); 
 
Thread b=
new
 Thread(
new
 Runnable(){ 
 
 
@Override
 
 
 
public
 
void
 run(){ 
 
 
 
for
(
int
 i=100;i<=300;++i){ 
 
 
 
 
System.
out
.println(i); 
 
 
 

 
 

 
},
"B"
); 
 
a.start(); 
 
b.start(); 
 

}
 

 
194
Ushbu  yuqoridagi  masalalarni  boshqacha  ko’rinishda  ham  tashkil  qilish  mumkin. 
Ya’ni alohida sinf qilib tashkil qilish mumkin. 
 
 
Birinchi oqim: 
public
 
class
 ThreadA 
extends
 Thread 
implements
 Runnable { 
 
@Override
 
 
public
 
void
 run(){ 
 
 
for
 (
int
 i = 1; i < 100; i++) { 
 
 
 
System.
out
.println(
"Birinchi oqim"
); 
 
 
 
 
 
 

 


Ikkinchi oqim: 
 
 
 
public
 
class
 ThredB 
extends
 Thread 
implements
 Runnable{ 
 
 
@Override
 
 
 
public
 
void
 run(){ 
 
 
 
for
 (
int
 i = 1; i < 100; i++) { 
 
 
 
 
System.
out
.println(
"Ikkinchi oqim"
); 
 
 
 
 
 

 
 

 
}
  
Asosiy sinfda ushbu sinflardan foydalanamiz: 
 
public
 
class
 MainClass { 
 
public
 
static
 
void
 main(String[] args) 
throws
 
InterruptedException { 
 
 
ThreadA e1=
new
 ThreadA(); 
 
 
ThredB p2=
new
 ThredB(); 
 
 
e1.start(); 
 
 
p2.start(); 
 
 
 

}
 
Natijani ekranga chiqarganigizda hammasini tushunib olasiz. 
 
 
 
 
 
 

Download 1.31 Mb.

Do'stlaringiz bilan baham:
1   ...   7   8   9   10   11   12   13   14   15




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2020
ma'muriyatiga murojaat qiling