Java#同时运行多个线程
2014-11-14 00:00
106 查看
摘要: Java#同时运行多个线程例子
取得和设置线程的名称、查看线程状态等。。。
后台线程与setDaemon()方法。
123
123
//同时运行多个线程 class ThreadDemo10 implements Runnable { public void run() { for (int i = 0;i < 20;i++) { System.out.print("@"); try { Thread.sleep(3); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } System.out.print(" ThreadDemo10 is OVER!\n"); } } class ThreadDemo2 implements Runnable { public void run() { for (int i = 0;i < 20;i++) { System.out.print("$"); try { Thread.sleep(2); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } System.out.print(" ThreadDemo2 is OVER!\n"); } } class ThreadDemo11 extends Thread { public void run() { for (int i=0;i<5;i++) { System.out.print("@-@_"+i+";"); try { Thread.sleep(1); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } System.out.print(" ThreadDemo11 end \n\n"); } } public class Test { public static void main(String args[]) { ThreadDemo10 mt1 = new ThreadDemo10(); ThreadDemo2 mt2 = new ThreadDemo2(); Thread m1 = new Thread(mt1); Thread m2 = new Thread(mt2); m1.start(); m2.start(); new ThreadDemo11().start(); } }
取得和设置线程的名称、查看线程状态等。。。
//取得和设置线程的名称 public class getNameThread extends Thread{ public void run(){ for(int i=0;i<7;i++){ printMsg(); //延时是为了更好的观察和理解线程 try { Thread.sleep(1); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public void printMsg(){ Thread t = Thread.currentThread(); String name = t.getName(); System.out.println("name="+name); } public static void main(String args[]){ getNameThread nt = new getNameThread(); nt.setName("test thread"); Thread nt1 = new Thread (nt); Thread nt2 = new Thread (nt); nt2.setName("Test Thread Two"); System.out.println("调用nt.star()之前,线程nt状态:"+nt.isAlive()); nt.start(); System.out.println("调用nt.star()之后,线程nt状态:"+nt.isAlive()); System.out.println("调用nt1.star()之前,线程nt1状态:"+nt1.isAlive()); nt1.start(); System.out.println("调用nt1.star()之后,线程nt1状态:"+nt1.isAlive()); System.out.println("调用nt2.star()之前,线程nt2状态:"+nt2.isAlive()); nt2.start(); System.out.println("调用nt2.star()之后,线程nt2状态:"+nt2.isAlive()); // nt.yield(); for(int i=0;i<5;i++){ nt.printMsg(); //延时是为了更好的观察和理解线程 try { Thread.sleep(1); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } // nt.start(); } }
后台线程与setDaemon()方法。
//后台线程与setDaemon()方法。 public class DaemonThread { public static void main(String args[]){ ThreadTest tt=new ThreadTest(); Thread t=new Thread(tt); //线程在启用之前调用了setDaemon(true)方法,则这个线程就变成了后台线程; t.setDaemon(true); t.start(); System.out.println("前台线程 OVER!"); } } class ThreadTest implements Runnable{ public void run(){ while(true){ System.out.println(Thread.currentThread().getName()+" is running."); } } }
123
123
相关文章推荐
- Java 并发编程中的 CountDownLatch 锁用于多个线程同时开始运行或主线程等待子线程结束
- JAVA基础学习--一个线程加一运算,一个线程做减一运算,多个线程同时交替运行--synchronized
- 在java中两个线程同时运行是怎么变化的
- Java怎样中断一个运行中的线程(2)
- Java怎样中断一个运行中的线程(3)
- java 守护线程运行示例
- Java怎样中断一个运行中的线程(1)
- java中的对线程运行模式的分析
- Java怎样中断一个运行中的线程
- Java怎样中断一个运行中的线程(2)
- [Java] Thread 线程交替运行
- 在java中如何防止从其它线程类运行run方法
- [Java] Thread 线程交替运行
- java中,如何安全的结束一个正在运行的线程?
- java多线程并发(并不是同时运行)
- Java怎样中断一个运行中的线程(3)
- Java怎样中断一个运行中的线程
- java 线程后台运行示例
- Java怎样中断一个运行中的线程(3)
- Java怎样中断一个运行中的线程