Hi...!Có bác nào rãnh bỏ tí thời gian giúp mình bài java này được ko ??
tạo ra 2 luồng (thread) : 1 biểu diễn số chẵn và 1 biểu diễn số lẽ..
Thank !
Hi...!Có bác nào rãnh bỏ tí thời gian giúp mình bài java này được ko ??
tạo ra 2 luồng (thread) : 1 biểu diễn số chẵn và 1 biểu diễn số lẽ..
Thank !
bài này căn bản nhât trong tất cả các bài ^^, đọc kỹ lại core java thì làm duoc thôi
// ThreadSync.java
class MyThread extends Thread {
static String message[]={"I","love","Java."};
public MyThread(String id) {
// Gọi hàm dựng (constructor) của lớp Thread cha
super(id);
}
public void run() {
Sync.displayList(getName(), message);
}
void waiting() {
try {
sleep(2000);
}
catch(InterruptedException e){
System.out.println("Interrupted");
}
}
};
class Sync {
public static synchronized void displayList(String name, String list[]) {
/* Nếu không dùng từ khóa synchronized thì sẽ không
đảm bào một luồng làm xong hết công việc của nó
rồi một luồng khác mới được bắt đầu chạy.
*/
for (int i=0; i< list.length; ++i) {
MyThread thread = (MyThread)Thread.currentThread();
// Hàm waiting đã định nghĩa ở trên
thread.waiting();
System.out.println(name + list[i]);
}
}
};
public class ThreadSync {
public static void main(String args[]) {
MyThread thread1 = new MyThread("Thread 1: ");
MyThread thread2 = new MyThread("Thread 2: ");
thread1.start(); // Hàm run của thread1 được gọi
thread2.start(); // Hàm run của thread2 được gọi
}
};
các bạn giúp mình đi ...vì mình yếu java nên mới nhờ chứ
thank bác Blackmaster nha...nhưng bài này ko đúng với yêu cầu đề...
mình cũng xem bài này rùi nhưng ko hiểu lắm
http://www.uitstudent.com/forum/showthread.php?t=4949
Mi`nh thay code cua website nay giong cua ban:
Code:
Nhưng trong cái example này nó hơi khó hiểu cho những người moi học JAVA. Bạn chịu khó ngồi nghiên cứu code nha ... nếu không hiểu đoạn naò có thể viết lên tôi sẽ giải thích cho!Code:import static java.lang.System.out; public class TestOddEven { public static void main(String[] args) { Q q = new Q(); Even even = new Even(q); Odd odd = new Odd(q); } } class Q { boolean isOdd = false; int i = 0; synchronized int getOdd() { while(!isOdd) { try { wait(); } catch(InterruptedException e) {} } isOdd = false; //System.out.println("Odd = = " + i++); notifyAll(); return i++; } synchronized int getEven() { while(isOdd) { try { wait(); } catch(InterruptedException e) {} } isOdd = true; //System.out.println("Even = = " + i++); notifyAll(); return i++; } } class Odd implements Runnable { Q q; Thread t; Odd(Q q) { this.q = q; t = new Thread(this," --Odd-- "); t.start(); } public void run() { for(int i=0;i<10;i++) System.out.println("Odd === "+q.getOdd()); System.out.println("-- End thread Odd --"); } } class Even implements Runnable { Q q; Thread t; Even(Q q) { this.q = q; t = new Thread(this," --Even-- "); t.start(); } public void run() { for(int i=0;i<10;i++) System.out.println("Even ==="+q.getEven()); System.out.println("-- End thread Even --"); } }
thank SCRIPTED nha,
Tất nhiên là mình sẽ nghiên cứu, mình vốn mới học Java nhưng lại chưa viết bài nào chạy được cả. hic thảm....
mình thật sự chưa hiểu Java kĩ nên viết toàn sai nhưng chẳng ai giải thích giúp mình hết nên có tiến hơi chậm,hihi ...
okay không có chi ... chúc bạn làm bài tốt!
day la bai cua tui ban thu tham khao
import java.io.*;
class Chanle extends Thread{ int i;
Chanle(){
System.out.print(" Thread da duoc tao");
start();}
public void run(){
for (i=1;i<=10;i++){
if (i%2==0){
System.out.println(" so chan la"+i);}
else if (i%2==1){
System.out.println(" so le la "+i);}
}
}
public static void main(String args[]){
Chanle h[]=new Chanle[10];
for ( int i=1;i<=6;i++){
h[i]=new Chanle();}
}
}
Bookmarks