java6Java6学习笔记59多线程编程.pdfVIP

  • 0
  • 0
  • 约3.05千字
  • 约 3页
  • 2020-02-07 发布于江苏
  • 举报
java6:Java6学习笔记59——多线程编程 ——线程的同步(version 0.2) 疯狂代码 http://CrazyC/ ĵ http:/CrazyC/BlogDigest/Article76362.html public class JoinDemo extends Object { ; public static Thread createThread(String name, long napTime) { ; ; ; final long sleepTime = napTime; ; ; ; Runnable r = new Runnable() { ; ; ; ; ; ; ; public void run() { ; ; ; ; ; ; ; ; ; try { ; ; ; ; ; ; ; ; ; ; ; print(in run() - entering); ; ; ; ; ; ; ; ; ; ; ; Thread.sleep(sleepTime); ; ; ; ; ; ; ; ; ; } catch ( InterruptedException x ) { ; ; ; ; ; ; ; ; ; ; ; print(interrupted!); ; ; ; ; ; ; ; ; ; } finally { ; ; ; ; ; ; ; ; ; ; ; print(in run() - leaving); ; ; ; ; ; ; ; ; ; } ; ; ; ; ; ; ; } ; ; ; ; ; }; ; ; ; ; Thread t = new Thread(r, name); ; ; ; t.start(); ; ; ; return t; ; } ; private static void print(String msg) { ; ; ; String name = Thread.currentThread().getName();//将打印的信息前边加上由哪个线程打印的出处信息 。 ; ; ; System.out.println(name + : + msg); ; } ; public static void main(String[] args) { ; ; ; Thread[] t = new Thread[3]; ; ; ; /*创建了三个线程A、B、C,休眠时间分别为2s,1s,3s*/ ; ; ; t[0] = createThread(thread A, 2000); ; ; ; t[1] = createThread(thread B, 1000); ; ; ; t[2] = createThread(thread C, 3000); ; ; ; for ( int i = 0; i t.length; i++ ) { ; ; ; ; ; try { ; ; ; ; ; ; ; String idxStr = thread[ + i + ]; ; ; ; ; ; ; ; String name = [ + t[i].getName() + ]; ; ; ; ; ; ; ; print(idxStr + .isAlive()= + ; ; ; ; ; ; ; ; ; ; ; t[i].isAlive() + + name); ; ; ; ; ; ; ; print(about to do: + idxStr + ; ; ; ; ; ; ; ; ; ; ; .join() + name); ; ; ; ; ; ; ; long start = System.currentTimeMillis(); ; ; ; ; ; ; ; t[i].join(); // wait for the thread to die ; ; ; ; ; ; ; long stop = System.currentTimeMillis(); ; ; ; ; ; ; ; print(idxStr + .join() - took + ; ; ; ; ; ; ; ; ; ; ; ( stop - start ) + ms + name); ; ; ; ; ;

文档评论(0)

1亿VIP精品文档

相关文档