论坛首页 入门技术论坛

java多线程例子!

浏览 12485 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2008-10-03  
public class ThreadDemo
{
	public static void main(String [] args)
	{
		ThreadTest t=new ThreadTest();
		Thread t1=new Thread(t);
		Thread t2=new Thread(t);
		Thread t3=new Thread(t);
		Thread t4=new Thread(t);
		Thread t5=new Thread(t);
		Thread t6=new Thread(t);
		Thread t7=new Thread(t);
		Thread t8=new Thread(t);
		
		t1.start();
		t2.start();
		t3.start();
		t4.start();
		t5.start();
		t6.start();
		t7.start();
		t8.start();
	}
}
class ThreadTest extends Thread  
{
	private int sum=0;
	String str=new String("");
	public void run()
	{
		while(true)
		{
			synchronized(str){
				if(sum<=10)
			{
					try
					{	
					Thread.sleep(10);
					}
					catch(Exception e){}
			System.out.println(Thread.currentThread().getName() +
				" now sum is: " + sum++);
			}
			}
		}
	}
}

   发表时间:2008-10-03  
这个可以运行么?
0 请登录后投票
   发表时间:2008-10-04  
那个你的TestThread应该继承Runnable吧! 
多线程没有Thead(Thread t)这种构造方法;
public class ThreadDemo
{
	public static void main(String [] args)
	{
		ThreadTest t=new ThreadTest();
		Thread t1=new Thread(t);
		Thread t2=new Thread(t);
		Thread t3=new Thread(t);
		Thread t4=new Thread(t);
		Thread t5=new Thread(t);
		Thread t6=new Thread(t);
		Thread t7=new Thread(t);
		Thread t8=new Thread(t);
		
		t1.start();
		t2.start();
		t3.start();
		t4.start();
		t5.start();
		t6.start();
		t7.start();
		t8.start();
	}
}
class ThreadTest extends Thread  
{
	private int sum=0;
	String str=new String("");
	public void run()
	{
		while(true)
		{
			synchronized(str){
				if(sum<=10)
			{
					try
					{	
					Thread.sleep(10);
					}
					catch(Exception e){}
			System.out.println(Thread.currentThread().getName() +
				" now sum is: " + sum++);
			}
			}
		}
	}
}
0 请登录后投票
   发表时间:2008-10-04  
不好意思,  我理解错了。
Tread本来就是implements 了 接口Runnable
所以还是可以的。
但是你这种很怪异。 呵呵! 
0 请登录后投票
   发表时间:2008-10-06  
楼主真坏,呵呵
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics