java多线程实现,java虚拟机(jvm)如何实现多线程

基础知识 admin 浏览 条评论

JAVA多线程解惑之实现方式有几种

2种方式1:继承Thread类2:实现Runnable接口

java实现多线程的时候,用extends thread 与 用接口runable实现有什么区别?

继承的话就没办法在继承其它父类 用接口不影响实现其它接口及继承其它父类……另外 在构建对象时调用方法不一样! 继承的是new出来的 接口不是…………

编程JAVA 实现使用多线程数字从10到1两个线程的交替输出

class out implements Runnable{private int ticket = 100;public synchronized void run(){while (true){if (ticket>o){System.out.println(Thread.currentThread().getName()+"="+"sale..."+ticket--);//若改成this.getName();不行因为接口里没有getName();}}}}class RunnableDemo{public static void main(String[] args){Ticket P = new Ticket();//先创造接口对象Thread P1 = new Thread(P);//再把接口对象给ThreadThread P2 = new Thread(P);P1.start();P2.start();}这是最基本的。。多线程里面玩的就是同步代码块。。都是手打的。。分给我吧,运行的时候运行RunnableDemo;

java里面多线程继承extends和实现Runnable接口的区别?

extends的你一旦实现了多线程就不能够继承其他的类,因为java只支持单继承。但是如果是实现runnable的接口的,你还可以继承其他的类。这个就是区别。我们一般看情况而定。二者看习惯就好了。

JAVA中用多线程实现小球滚动程序拜托各位了 3Q

我这们是嵌入在网页中的,你运行试试 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Ball extends JApplet implements Runnable { private Thread blueBall; private boolean xUp,yUp,bouncing; private int x,y,xDx,yDy; private final int MAX_X = 200, MAX_Y = 200; public void init() { xUp = false; yUp = false; xDx = 1; yDy =1; bouncing = false; addMouseListener( new MouseListener(){ public void mousePressed(MouseEvent event){ creatBall(event); } //鼠标按下 public void mouseExited(MouseEvent event){} public void mouseClicked(MouseEvent event){} public void mouseReleased(MouseEvent event){} public void mouseEntered(MouseEvent event){} } ); setSize(MAX_X,MAX_Y); } private void creatBall(MouseEvent event){ if(blueBall == null){ x = event.getX(); y = event.getY();//获取按下的位置 blueBall = new Thread(this); bouncing = true; blueBall.start(); } } public void stop() { blueBall = null; } public void paint(Graphics g) { super.paint(g); if(bouncing){ g.setColor(Color.red); g.fillOval(x,y,20,20); } } public void run() { while(true) { try{ blueBall.sleep(20); }catch(InterruptedException exception){ System.err.println(exception.toString()); } if(xUp == true) x += xDx; else x -= xDx; if(yUp == true) y += yDy; else y -= yDy; if(y <= 0){ yUp = true; yDy = (int) (Math.random() * 5 + 2); } else if(y >= MAX_Y - 10){ yDy = (int) (Math.random() * 5 + 2); yUp = false; } if(x <= 0){ xUp = true; xDx = (int) (Math.random() * 5 + 2); } else if(x >= MAX_X - 10){ xDx = (int) (Math.random() * 5 + 2); xUp = false; } repaint(); } } }采纳哦

转载请注明:java多线程-java培训班_隆康教程网 » java多线程实现,java虚拟机(jvm)如何实现多线程

与本文相关的文章

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表