JSPCN主页 | JSP空间 | 网站制作 | JSP下载 | JSP论坛 | JSP教程 | 关于JSPCN | 联系我们
JSP虚拟主机,jsp空间,java空间,java虚拟空间,详细请点击进入
做最专业的JSP中文网站 当前位置首页--JSP技术--教程系列  
文章搜索:
关键字 标题
  
JSP中文网内容管理系统(JCMS)
JSP虚拟主机
网络笔记本
网摘,图片,笔记收藏
虚拟服务器

JSPCN文章目录分类
JSP配置[219]JSP基础[136]
中文问题[69]上传问题[27]
JAVABEAN[46]数据库[212]
文件操作[126]图片声音[17]
JSP其他[57]时间相关[16]
JAVAMAIL[72]STRUTS[144]
开发工具[28]教程系列[157]
JSP实例[89]
JAVA基础[421]APPLET[78]
JAVA网络[179]Applica[115]
Servlet[98]XML[163]
J2ME[257]J2EE[374]
考试相关[63]JAVA线程[90]
EJB[261]Swing[26]
Java API[141]声音图片[28]
异常处理[33]JAVA实例[290]
JAVA类[139]SUN[89]
Hibernate[6]JMX[8]
Spring[34]
本版推荐文章 
本版热点文章 
相关文章链接 
 
《Java就业培训教程》[张孝祥]书内源码(4)
作者:     文章来源:
访问次数:215次     加入时间:2007年02月25日

《Java就业培训教程》P177源码
程序清单:ThreadDemo1.java
public class ThreadDemo1
{
 public static void main(String args[])
 {
  new TestThread().run();
  while(true)
  {
   System.out.println("main thread is running");
  }
 }
}
 class TestThread     
{
 public void run()
 {
  while(true)
  {
   System.out.println(Thread.currentThread().getName() +
   " is running");
  }
 }
}



《Java就业培训教程》P180源码
程序清单:ThreadDemo3.java
public class ThreadDemo3
{
 public static void main(String args[])
 {
  //new TestThread ().start();
  TestThread tt= new TestThread();//创建TestThread类的一个实例
  Thread t= new Thread(tt);//创建一个Thread类的实例
  t.start();//使线程进入Runnable状态
  while(true)
  {
   System.out.println("main thread is running");
  }
 }
}
class TestThread implements Runnable //extends Thread
{
 public void run()//线程的代码段,当执行start()时,线程从此出开始执行
 {
  while(true)
  {
   System.out.println(Thread.currentThread().getName() +
   " is running");
  }
 }
}


《Java就业培训教程》P181源码
程序清单:ThreadDemo4.java
public class ThreadDemo4
{
 public static void main(String [] args)
 {
  ThreadTest t=new ThreadTest();
  t.start();
  t.start();
  t.start();
  t.start();
 }
}
class ThreadTest extends Thread 
{
 private int tickets=100;
 public void run()
 {
  while(true)
  {
   if(tickets>0)
   System.out.println(Thread.currentThread().getName() +
    " is saling ticket " + tickets--);
  }
 }
}



《Java就业培训教程》P186源码
程序清单:JoinThread.java
public class JoinThread
{
 public static void main(String[] args)
 {
  ThreadTest t=new ThreadTest();
  Thread pp=new Thread(t);
  pp.start();
  int i=0;
  while(true)
  {
   if(i==100)
   {   
    try
    {
     pp.join();
    }
    catch(Exception e)
    {
     System.out.println(e.getMessage());
       }
   }
   System.out.println("main Thread "+i++);
  }
 }
}
class ThreadTest implements Runnable
{
 public void run()
 {
  String str=new String();
  int i=0;
  while(true)
  {
   System.out.println(Thread.currentThread().getName()+" "+i++);
  }
 }
}



《Java就业培训教程》P195源码
程序清单:ThreadDemo6.java
public class ThreadDemo6
{
 public static void main(String [] args)
 {
  ThreadTest t=new ThreadTest();
  new Thread(t).start();//这个线程调用同步代码块
  t.str=new String("method");
  new Thread(t).start();//这个线程调用同步函数
 }
}
class ThreadTest implements Runnable
{
 private int tickets=100;
 String str = new String ("");
 public void run()
 {
  if(str.equals("method"))
  {
   while(true)
   {
  sale();
  }
 }
 else
 {
  while(true)
  {
synchronized(str)
   {
      if(tickets>0)
{
try
{
     Thread.sleep(10);
}
catch(Exception e)
{
     System.out.println(e.getMessage());
}
System.out.println(Thread.currentThread().getName()+
" is saling ticket " + tickets--);
}
}   
  }
 }
 }
 public synchronized void sale()
 {
     if(tickets>0)
{
try
{
    Thread.sleep(10);
}
catch(Exception e)
{
    System.out.println(e.getMessage());
}
System.out.println(Thread.currentThread().getName()+
" is saling ticket " + tickets--);
}
 }
}


《Java就业培训教程》P200源码
程序清单:Deadlock.java
class A
{
 synchronized void foo(B b)
 {
   String name=Thread.currentThread().getName();
   System.out.println(name+ " entered A.foo ");
   try
   {
    Thread.sleep(1000);
   } 
   catch(Exception e)
   {
    System.out.println(e.getMessage());
   }
   System.out.println(name+ " trying to call B.last()");
   b.last();
 }
 synchronized void last()
 {
   System.out.println("inside A.last");
 }
}
class B
{
 synchronized void bar(A a)
 {
   String name=Thread.currentThread().getName();
   System.out.println(name + " entered B.bar");
   try
   {
    Thread.sleep(1000);
   }
   catch(Exception e)
   {
    System.out.println(e.getMessage());
   }
   System.out.println(name + " trying to call A.last()");
   a.last();
 }
 synchronized void last()
 {
   System.out.println("inside A.last");
 }
}
class Deadlock implements Runnable
{
 A a=new A();
 B b=new B();
 Deadlock()
 {
   Thread.currentThread().setName("MainThread");
   new Thread(this).start();
   a.foo(b);   //get lock on a in this thread.
   System.out.println("back in main thread");
 }
 public void run()
 {
   Thread.currentThread().setName("RacingThread");
   b.bar(a);  //get lock on a in other thread.
   System.out.println("back in other thread");
 }
 public static void main(String[] args)
 {
   new Deadlock();
 }
}
《Java就业培训教程》P204源码
程序清单:ThreadCommunation.java
class Producer implements Runnable
{
 Q q=null;
 public Producer(Q q)
{
 this.q=q;
}
 public void run()
{
 int i=0;
 while(true)
{
 if(i==0)
 {
q.name="张孝祥";
  q.sex="男";
 }
 else
 {
q.name="陈琼";
  q.sex="女";
 }
 i=(i+1)%2;
}
}
}
class Q
{
 String name="陈琼";
 String sex="女";
}
class Consumer implements Runnable
{
 Q q=null;
 public Consumer(Q q)
 {
  this.q=q;
 }
 public void run()
{
 while(true)
{
 System.out.println(q.name + "---->" + q.sex);
}
}
}
public class ThreadCommunation
{
 public static void main(String [] args)
 {
  Q q=new Q();
  new Thread(new Producer(q)).start();
  new Thread(new Consumer(q)).start();
 }
}


 

 
JSP虚拟主机 | JSP空间 | JSP主机 | JSP双线虚拟主机 | JAVA空间 | JAVA虚拟主机 | 虚拟服务器 | JSP 虚拟服务器 | VPS
Virtual Private Server | JAVA虚拟服务器 | VM服务器 | VHOST | 虚拟操作系统 | JSP论坛 | JAVA论坛 | JSP站点论坛
Copyright © 2002-2005 JSPCN.net. All rights reserved.
JSP中文网    备案序号:蜀ICP备05001583号
成都恒海科技发展有限公司    成都市一环路南二段6号新瑞楼三楼8号