java中如何实现多线程


{
publicMyMoreThread()
{
内super();
}
publicMyMoreThread(Stringname)
{
super(name);
}
publicvoidrun()
{
for(inti=0;i<10;i++)
{
System.out.println(super.getName()+":"+i);
}
}
}
publicclassThreadTest3
{
publicstaticvoidmain(String[]args)
{
MyMoreThreadthread1=newMyMoreThread("第容1个线程");
MyMoreThreadthread2=newMyMoreThread("第2个线程");
thread1.start();
thread2.start();
}
}

❷ java嵌套循环次数很多,怎么用多线程执行降低时间

将循环的数据分组,比如每组100条,分完之后开启线程,分别执行,线程可以用继承thread的方式,也可以实现runnable接口

❸ JAVA多线程里的循环耗时

这里你要改变下思维方式。虽然物理上是两个独立事件(开枪和子弹飞),但是计算机在绘图的时候,启示是一帧帧画上去的。所有的事件都是由连续帧绘制出来的。因此,只需要一个线程就可以了:

publicvoidrun(){
intt=0;
while(flag){
intbullet_time=t%600;
//fire
if(bullet_time==0){
//drawfireevent
}
else{
//drawbullets
switch(bullet_time){
case100:
//drawbullet1
break;
//drawbullet2
case200:
break;
//drawbullet3
case300:
break;
//drawbullet4
case400:
break;
//drawbullet5
case500:
break;

}
}
t+=100;
try{Thread.sleep(100);}catch(Exceptione){e.printStackTrace();}}}

❹ java—for循环里启动的线程要怎么理解

每次循环中都创建了一个新的线程对象,所以start启动了二十个不同的线程。另外,不是所有东西用多线程都能加速,切换线程的时候也是会有损耗的

❺ java多线程

。。。,你这样写 2个线程只会比一个线程耗时更多而不会少,因为你的2个线程是把同一件事情做了两遍,而不是把一件事情拆成了俩份来做。
你起两个线程,一个计算sum1 = for( i<Integer.MAX_VALUE/2)
一个计算 sum2 = for (Integer.MAX_VALUE/2<i<Integer.MAX_VALUE)

主线程 定义两个静态变量 flag1 =false; flag2=false;
sum1结束时 flag1=true; sum2结束时 flag2=true
if(flag1&&flag2)
sum = sum1+sum2

这样时间才会少,理论上运算时间是之前单线程的一半。当然你的计算程序要够复杂,就是5秒以上效果才会出来。

❻ java中怎样实现多线程

//简单的演示,四个人吃包子,各吃各的!
publicclassThreadTest{
publicstaticvoidmain(String[]args){
String[]arr={"张333","李----四","-----王五","赵六666"};
for(inti=0;i<4;i++){
newThread(newRunnable(){
inta=1;
publicvoidrun(){
while(a<100)
System.out.println(Thread.currentThread().getName()+"在吃包子,吃了"+(a++)+"个了");
}
},arr[i]){
}.start();
}
}
}

❼ Java线程池优化for循环

那么我们要做的就是把要做的事情开多线程里去处理,可以简单的实现如下

packagecom.wenxy.test...bank;

importjava.util.Iterator;
importjava.util.concurrent.Executor;
importjava.util.concurrent.Executors;

publicclassTestLoop{

publicstaticinti=0;

voiddoSomething(){
System.out.println(Thread.currentThread().getName()
+"isdoing。。。andi="+i);
i++;
}

publicstaticvoidmain(String[]args){

finalTestLooptestLoop=newTestLoop();

//创建一个线程池,用10个线程处理
Executorexecutor=Executors.newFixedThreadPool(10);

for(inti=0;i<100;i++){
executor.execute(newRunnable(){

@Override
publicvoidrun(){
testLoop.doSomething();
}
});
}

}

}

❽ java 多线程的例子

多线程实际上就是多个线程同时运行,至于那个先完成是不能确定的。

* @author Rollen-Holt 实现Runnable接口

* */

class hello implements Runnable {

public hello() {

}

public hello(String name) {

this.name = name;

}

public void run() {

for (int i = 0; i < 5; i++) {

System.out.println(name + "运行 " + i);

}

}

public static void main(String[] args) {

hello h1=new hello("线程A");

Thread demo= new Thread(h1);

hello h2=new hello("线程B");

Thread demo1=new Thread(h2);

demo.start();

demo1.start();

}

private String name;

}

可能运行结果:

❾ java for循环中创建线程池

  1. 首先要明确线程池的意思,就是线程预先创建好放在一个池里面,使用后不会销毁

  2. 要区分任务和线程池,任务可以不断添加,但是线程池里线程的个数是固定的,当任务数超过线程数后,后面的任务需要等待有空闲的线程才会执行

  3. 所以不断添加任务没有关系,如果池中有50个线程,你添加100个任务同一时间也只会执行50个任务,剩下的50个任务需要等待前面的任务执行完毕后继续执行

  4. 所以你的主线程原则上可以不断for,但是你总得有个结束点吧

❿ Java 多线程与for 语句如何结合使用

{
Stringparam=null;

publicTestThread(Stringparam){
this.param=param;
}

@Override
publicvoidrun(){
System.out.println(param);

}

publicstaticvoidmain(String[]args){
while(true){
newThread(newTestThread("测试")).start();
}
}
}

给你写了个简单的demo,就是把你需要的参数写在你的类里面,然后用构造注入就可以了