Hiển thị kết quả từ 1 đến 8 / 8

Chủ đề: Tao Thread trong JAVA

  1. #1
    Tham gia
    21-03-2009
    Bài viết
    8
    Like
    0
    Thanked 0 Times in 0 Posts

    Nói nhỏ nè ! Tao Thread trong JAVA

    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 !
    Quote Quote

  2. #2
    Tham gia
    04-07-2009
    Bài viết
    854
    Like
    0
    Thanked 7 Times in 7 Posts
    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

  3. #3
    Tham gia
    27-10-2007
    Bài viết
    69
    Like
    0
    Thanked 0 Times in 0 Posts
    // 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
    }
    };

  4. #4
    Tham gia
    21-03-2009
    Bài viết
    8
    Like
    0
    Thanked 0 Times in 0 Posts
    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

  5. #5
    Tham gia
    13-10-2008
    Location
    www.vnfox.com
    Bài viết
    462
    Like
    0
    Thanked 10 Times in 10 Posts
    Mi`nh thay code cua website nay giong cua ban:

    Code:

    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 --");
      }
      
    }
    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!

  6. #6
    Tham gia
    21-03-2009
    Bài viết
    8
    Like
    0
    Thanked 0 Times in 0 Posts
    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 ...

  7. #7
    Tham gia
    13-10-2008
    Location
    www.vnfox.com
    Bài viết
    462
    Like
    0
    Thanked 10 Times in 10 Posts
    okay không có chi ... chúc bạn làm bài tốt!

  8. #8
    Tham gia
    30-10-2009
    Bài viết
    12
    Like
    0
    Thanked 0 Times in 0 Posts
    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

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •