java多线程问题,大神帮我解释解释下面这几句话的意思?

public static void main(String[] args) throws Exception

{

Thread threads[] = new Thread[100];

for (int i = 0; i < threads.length; i++)

// 建立100个线程

threads = new JoinThread();

for (int i = 0; i < threads.length; i++)

// 运行刚才建立的100个线程

threads.start();

for (int i = 0; i < threads.length; i++)

// 100个线程都执行完后继续

threads.join();

System.out.println("n=" + JoinThread.n);

}

}

在for循环中,thread=new JoinThread();//JoinThread()是一个线程类
这句执行了100次,但是thread只是一个名字,每次不都覆盖了么,怎么还创建了一百个线程呢?求解释,多谢啦

Thread threads[] = new Thread[100];是一个数组,下面的代码写错了,应该都是threads[i]调用数组中的线程类对象才对,现在的代码运行肯定报错的
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-23
threads = new JoinThread();
threads.start();
threads.join();
改为:
threads[i] = new JoinThread();
threads[i].start();
threads[i].join();

关于多线程的几个问题是什么意思?
线程是操作系统进行运算调度的最小单位。在进程内部,线程负责执行实际任务。一条线程在进程中的顺序执行流,拥有独立的程序执行计数器与栈,每进程中可并发多个线程,每个线程执行不同任务。Unix System V及SunOS中,线程也被称为轻量进程。线程状态与Java中线程创建 Java中,Thread类表示线程。创建线程可...

java多线程并发的问题
线程:是指程序代码的一次执行,是动态的过程。楼主在定义OneTh这个实现Runnable接口类的时候肯定复写了他的run()方法。onet1和onet2是两个线程,也就是说虽然他们的run()方法相同,但是是执行了两次的。计算机中CPU的调度过程:现在的电脑看上去能同时实现多任务,像是一边上QQ,一边听音乐,还可以一边...

java多线程理解
因此,线程是有用的,但也不是随便乱用,乱用的话,可能造成性能的低下,它是有一点的适用范围的,一般我认为:需要响应多个人的事情,从设计上需要考虑同时做一些事情(这些事情很多情况下可能一点关系都没有,也有可能有一些关系的)。使用多线程的时候,如果某些线程之间涉及到资源共享、互相通讯等等问...

java 多线程的简单问题 基础知识
t=new Thread(this,name); 这句话 、新建一个线程。。把自己和这个name作为参数传给他。。name你肯定明白。。你肯定是不明白那个this。。那个this就是调用 NewThread(String threadname){ name =threadname;t=new Thread(this,name);System.out.println("New threa: "+t);t.start();} 这个构...

由生产者\/消费者问题看JAVA多线程
这个类位于java io包中 是解决同步问题的最简单的办法 一个线程将数据写入管道 另一个线程从管道读取数据 这样便构成了一种生产者\/消费者的缓冲区编程模式 下面是一个例子代码 在这个代码我没有使用Object对象 而是简单的读写字节值 这是因为PipedInputStream\/PipedOutputStream不允许传输对象 这是JAVA本身的一个bug...

解释一下java多线程中,并发和并行。
所谓进程(process)就是一块包含了某些资源的内存区域。操作系统利用进程把它的工作划分为一些功能单元。进程中所包含的一个或多个执行单元称为线程(thread)。进程还拥有一个私有的虚拟地址空间,该空间仅能被它所包含的线程访问。线程只能归属于一个进程并且它只能访问该进程所拥有的资源。当操作系统...

java多线程的问题为何输出结果只有一个?
1、主要是tt.join的问题。2、当子线程开启后,主线程和子线程是并发或并行执行的,会多线程输出。但是tt.join是指将tt线程与主线程(即tt.join这段代码所运行时候的线程)合并,即等tt.join运行完后执行刚刚的主线程。而你的tt线程中的run()方法为:while(true)所以tt.join之后,tt一直在运行,故...

浅谈Java多线程的同步问题
多线程的同步依靠的是对象锁机制 synchronized关键字的背后就是利用了封锁来实现对共享资源的互斥访问 下面以一个简单的实例来进行对比分析 实例要完成的工作非常简单 就是创建 个线程 每个线程都打印从 到 这 个数字 我们希望线程之间不会出现交叉乱序打印 而是顺序地打印 先来看第一段代码 这里我们在...

7个连环问题揭开java多线程背后的核心原理!
因此我在这里会提多个问题,如果能很好地回答这些问题,那么算是你对java多线程的原理有了一些了解,也可以借此学习一下这背后的核心原理。Q: java中的主内存和工作内存是指什么?A:java中, 主内存中的对象引用会被拷贝到各线程的工作内存中, 同时线程对变量的修改也会反馈到主内存中。主内存对应于...

帮帮忙!java中多线程运行累加和程序问题
每个线程不可能执行30000次i++,因为另外一个现成的i++也会改变i的值。关键一点是,循环变量在各个线程中都是相同的,是同一个i,所以总循环次数是大致一样的。之所以说大致一样,是因为在i++执行过程中线程调度的几率很小。如果恰好在这个时候调度,那么循环次数就不会是30000 ...

相似回答