$B%9%l%C%I$N:n@.(B

Revised: Sep./01th/2004

$B%9%l%C%I$O%*%V%8%'%/%H$H$7$F:n@.$5$l!"

$B:n$jJ}$H9M$(J}$,0[$J$j$^$9$N$G!"JL!9$K@bL@$7$^$9!#(B

Thread $B%/%i%9$N7Q>5(B

$B%9%l%C%I$r?7$7$/Dj5A$9$k>l9g$O!"

  1. Thread $B%/%i%9$r7Q>5$7$?%/%i%9$r:n$k(B
  2. run() $B%a%=%C%I$r%*!<%P!<%i%$%I$9$k(B
  3. $B$3$N%/%i%9$r%$%s%9%?%s%92=$9$k(B
  4. start() $B%a%=%C%I$r8F$S=P$9(B

$B0lHL$K!"%9%l%C%I$O(B Thread $B%/%i%9$+$=$N%5%V%/%i%9$N%*%V%8%'%/%H$H$7$F@8@.$5$l!"run() $B%a%=%C%I$G$"$j!"<+J,$G%9%l%C%I$r:n$k>l9g$O!"(B run() $B%a%=%C%I$r%*!<%P!<%i%$%I$7$F!"L\E*$N=hM}$r5-=R$9$k$3$H$K$J$j$^$9!#(B

$B$3$N%/%i%9$r%$%s%9%?%s%92=$7$F@8@.$5$l$?%9%l%C%I$O!"(B start() $B%a%=%C%I$K$h$C$F!"(B$BuBV(B (Runnable state) $B$K$J$j!"%^%7%s$N%j%=!<%9$,3d$jEv$F$i$l$k$N$rBT5!$7$^$9!#$=$7$F!"$B (running) $B$K$J$C$?$H$-$Krun() $B%a%=%C%I$K5-=R$5$l$F$$$k$3$H$K$J$j$^$9!#(B

CountTest.java:

class Count extends Thread {
	public void start() {
		System.out.println("** Runnable ****");
		super.start();
	}

	public void run() {
		System.out.println("** running *****");
		for (int i=0; i <= 5; i++) {
			System.out.println("Count: " + i);
		}
		System.out.println("** Dead ********");
	}
}

class CountTest {
	public static void main(String[] args) {
		Count thread = new Count();
		System.out.println("** New Thread **");
		thread.start();

		System.out.println("last line in main()");
	}
}

$B%9%l%C%I$N>uBV$rI=<($9$k0Y$K(B start() $B%a%=%C%I$r%*!<%P!<%i%$%I$7$F$$$^$9$,M>J,$J:n6H$G$9!#(B

C:\Java\Thread>javac CountTest.java

C:\Java\Thread>java CountTest
** New Thread **
** Runnable ****
last line in main()
** running *****
Count: 0
Count: 1
Count: 2
Count: 3
Count: 4
Count: 5
** Dead ********

C:\Java\Thread>

$B%9%l%C%I$,@8@.$5$l$F$+$imain() $B%a%=%C%I$G%9%l%C%I$,:n$i$l$F(B start() $B$,8F$P$l$F$+$iD>$0$K(B run() $B$,main() $B$N@)8f$,(B CPU $B$r0.$C$F$*$j!"$3$N@)8f$,=*N;$7$F=i$a$F!"?7$7$/:n$C$?%9%l%C%I$K(B CPU $B$,3d$jEv$F$i$l$F(B run() $B$,

Runnable $B%$%s%?%U%'!<%9$N

Java $B$O0l$D$N%9!<%Q!<%/%i%9$7$+$b$F$J$$C10l7Q>5$N8@8l$G$9!#J#?t$N%/%i%9$r7Q>5$9$k$3$H$O$G$-$^$;$s!#$7$?$,$C$F!"$"$k%/%i%9$r7Q>5$7$F$$$k%5%V%/%i%9$r%9%l%C%I$H$7$Fl9g$O!"(B Thread $B%/%i%9$N7Q>5$H$7$F:n$k$o$1$K$O9T$-$^$;$s!#(B

$B$3$N$h$&$J>l9g$O!"(B Runnable $B%$%s%?%U%'!<%9$rThread $B%/%i%9$b(B Runnable $B%$%s%?%U%'!<%9$N$J$j$^$;$s!#A4$F$N%9%l%C%I%/%i%9$O(B Runnable $B%$%s%?%U%'!<%9$N

  1. Runnable $B%$%s%?%U%'!<%9$r
  2. run() $B%a%=%C%I$r
  3. $B
  4. Thread $B%/%i%9$r%$%s%9%?%s%92=$9$k(B
  5. start() $B%a%=%C%I$r8F$S=P$9(B

$BH$r!"(B Thread $B%/%i%9$N%3%s%9%H%i%/%?0z?t$K$7$^$9!#(B

$B<+J,$,:n$k%9%l%C%I$,!"(B run() $B%a%=%C%I$Nl9g$O!"ITI,MW$J%5%V%/%i%92=$rHr$1$k0Y$K(B Runnable $B%$%s%?%U%'!<%9$N

$B

CountsTest.java:

class CountA implements Runnable {

	public void run() {
		for (int i=0; i <= 5; i++) {
			System.out.println("A: " + i);
		}
	}
}

class CountB implements Runnable {

	public void run() {
		for (int i=5; i >= 0; i--) {
			System.out.println("	B: " + i);
		}
	}
}

class CountsTest {
	public static void main(String[] args) {
		// $B%i%s%J%V%k%/%i%9$N%$%s%9%?%s%92=(B
		CountA runA = new CountA();
		CountB runB = new CountB();
		System.out.println("Runnable Class $B$N%$%s%9%?%s%92==*N;(B");

		// $B%9%l%C%I$N%$%s%9%?%s%92=(B
		Thread threadA = new Thread(runA);
		Thread threadB = new Thread(runB);
		System.out.println("Thread $B$XthreadA.start();
		threadB.start();
		System.out.println("Thread $B$N(B start() $B=*N;(B");
		System.out.println("$BE,;~<+F0E*$K(B run() $B$,

$B

C:\Java\Thread>javac CountsTest.java

C:\Java\Thread>java CountsTest
Runnable Class $B$N%$%s%9%?%s%92==*N;(B
Thread $B$X

$B$3$N

C:\Java\Thread>java CountsTest
Runnable Class $B$N%$%s%9%?%s%92==*N;(B
Thread $B$X

$B$3$N$h$&$KI=<($5$l$?>l9g$O!"I8=`=PNO$X$N=PNO$K;~4V$,3]$+$j#C#P#U$,M7$s$G$$$k$+!"$=$b$=$b#C#P#U$,J#?tB8:_$7$FJ#?t$N=hM}$rF1;~$K

$B$3$N$h$&$JC1=c$J%"%W%j%1!<%7%g%s$N>l9g$O!"l9g$K$O!"%\%H%k%M%C%/$,H/@8$7!"%^%k%A%9%l%C%I$O7`E*$J8z2L$rH/4x$7$^$9!#KX$IA4$F$N%"%W%j%1!<%7%g%s!?%"%W%l%C%H!?%5!<%V%l%C%H$O%^%k%A%9%l%C%I!&%W%m%0%i%`$@$H8@$($^$9!#(B



Copyright © 2002 SUGAI, Manabu. All Rights Reserved.
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送