• 大小: 1.27 KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-09-15
  • 语言: Java
  • 标签: 多线程  同步  JAVA  编程  

资源简介

自己学着编写的一个JAVA多线程程序,该程序实现的功能是:在主线程main中创建两个子线程,A和B,线程A先运行,再运行B线程,当两个子线程都运行完毕后,才运行主线程,并最终结束整个程序的运行。

希望该程序对初学JAVA线程的朋友有帮助...

资源截图

代码片段和文件信息

package thread;
/**
 * write by agan 
 * E-mail:gsqsunny@gmain.com
 * 2009.1.3
 * 通过实现 Runnable 接口实现多线程
 * description:
 *             We create two subThreads (thread A and thread B )in the main thread.
 *             The main thread is started firstly then the thread A is started. 
 *             When the thread A run over the thread B is started.
 *             The main thread run over until the two subThreads are over .
 */
public class TestMitiThreadrunable implements Runnable{

/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(Thread.currentThread().getName() + “ 线程运行开始!“);
System.out.println(“----------------------------------------“);
TestMitiThreadrunable test = new TestMitiThreadrunable();
        Thread thread1 = new Thread(test);
        Thread thread2 = new Thread(test);
        thread1.setName(“A“);
        thread1.start();
        thread2.setName(“B“);
        // wait for thread1 is over then startup thread2
        try {
thread1.join();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
        thread2.start();
        if(thread2.isAlive())
try {
Thread.currentThread().sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(“----------------------------------------“);
        System.out.println(Thread.currentThread().getName() + “ 线程运行结束!“);
}

public void run(){
System.out.println(“----------------------------------------“);
System.out.println(Thread.currentThread().getName()+“ 线程运行开始!“);
System.out.println(“ThreadName    :“+Thread.currentThread().getName());
System.out.println(“ThreadID      :“+Thread.currentThread().getId());
System.out.println(“ThreadPriority:“+Thread.currentThread().getPriority());
System.out.println(“ThreadGroup   :“+Thread.currentThread().getThreadGroup());
for (int i = 0; i < 10; i++) {
System.out.println(i + “ “ + Thread.currentThread().getName());
try {
Thread.sleep((int) Math.random() * 10);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
System.out.println(Thread.currentThread().getName() + “ 线程运行结束!“);
System.out.println(“----------------------------------------“);
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2475  2009-01-03 14:30  java 多线程实例\TestMitiThreadrunable.java

     文件        684  2009-01-03 14:30  java 多线程实例\运行结果.txt

     目录          0  2009-01-03 14:31  java 多线程实例

----------- ---------  ---------- -----  ----

                 3159                    3


评论

共有 条评论