JAVA单线程以及java多线程的实现方式

1.java单线程的实现

public class SingletonThread {
    @SuppressWarnings("static-access")
	public static void main(String[] args) {
		 Thread t =Thread.currentThread();
		 t.setName("单例线程");
		 System.out.println(t.getName()+" 正在运行");
		 for(int i=0;i<2000;i++){
			 System.out.println("线程正在休眠:"+i);
			 try {
				t.sleep(500);
			} catch (InterruptedException e) {
			    System.out.println("线程出现错误了!!");
			}
		 }

	}
}

2.java多线程的实现

①继承Thread类,并重写run方法

public class ThreadImpl {
    public static void main(String[] args) {
		Thread t1=new ThreadTest("t1", 200);
		Thread t2=new ThreadTest("t2", 100);
		Thread t3=new ThreadTest("t3", 300);
		t1.start();
		t2.start();
		t3.start();
	}
}

class ThreadTest extends Thread{
	private String name;
	private int ms;
	public ThreadTest(String name, int ms) {

		this.name = name;
		this.ms = ms;
	}

	public void run() {
		try {
			sleep(ms);
		} catch (InterruptedException e) {
		System.out.println("线程运行中断异常");
		}

		System.out.println("名字叫"+name+"的线程开始休眠"+ms+"毫秒");
	}

}

结果:

名字叫t2的线程开始休眠100毫秒
名字叫t1的线程开始休眠200毫秒
名字叫t3的线程开始休眠300毫秒

②实现runnable接口,重写run方法

public class RunnableImpl {
	public static void main(String[] args) {
		RunnableTest r1=new RunnableTest();
	    Thread t=new Thread(r1);
	     t.start();
	}

}

class RunnableTest implements Runnable{

	@Override
	public void run() {
		// TODO Auto-generated method stub

	}

}

时间: 2024-11-03 20:50:53

JAVA单线程以及java多线程的实现方式的相关文章

JAVA并发编程1_多线程的实现方式

JAVA中创建线程的两种方式:继承Thread或实现Runnable接口. 1 继承Thread类,重写run方法: /** * 实现线程的第一种方式 :继承Thread * 实现数据共享需要设置属性为静态 * @author qhyuan1992 * */ class MyThread extends Thread{ private int count;// static public MyThread(String id){ super(id); } public void run() {

JAVA单线程和多线程的实现方式

1.java单线程的实现 public class SingletonThread { @SuppressWarnings("static-access") public static void main(String[] args) { Thread t =Thread.currentThread(); t.setName("单例线程"); System.out.println(t.getName()+" 正在运行"); for(int i=0

java——多线程的实现方式、两种办法解决线程赛跑

多线程的实现方式:demo1.demo2 demo1:继承Thread类,重写run()方法 package thread_test; public class ThreadDemo1 extends Thread { ThreadDemo1(){ } ThreadDemo1(String szName){ super(szName); } //重载run函数 public void run() { for(int count = 1 , row = 1 ; row < 10 ; row ++

Java基础】并发 - 多线程

Java基础]并发 - 多线程 分类: Java2014-05-03 23:56 275人阅读 评论(0) 收藏 举报 Java 目录(?)[+] 介绍 Java多线程 多线程任务执行 大多数并发应用程序时围绕执行任务(task)进行管理的:所谓任务就是抽象的,离散的工作单元. 围绕执行任务来管理应用程序时,第一步是要指明一个清晰的任务边界.大多数应用服务器程序都选择了下面这个自然的任务辩解:单独的客户请求: 任务时逻辑上的单元: 任务 Runnable 表示一个任务单元(java.lang)

Java简明教程 12.多线程(multithreading)

单线程和多线程 关于它们的区别,zhihu上有一个回答,我认为十分不错,如下: 1. 单进程单线程:一个人在一个桌子上吃菜. 2. 单进程多线程:多个人在同一个桌子上一起吃菜. 3. 多进程单线程:多个人每个人在自己的桌子上吃菜. 多线程的问题是多个人同时吃一道菜的时候容易发生争抢.例如两个人同时夹一个菜,一个人刚伸出筷子,结果伸到的时候已经被夹走菜了.此时就必须等一个人夹一口之后,在还给另外一个人夹菜,也就是说资源共享就会发生冲突争抢. 例子: 多线程: 浏览器浏览一个页面,里面有很多图片,多

Java笔记(23):多线程(01)

1.多进程及多线程的意义:多进程:单进程的计算机只能做一件事情,而我们现在的计算机都可以做多件事情.举例:一边玩游戏(游戏进程),一边听音乐(音乐进程).也就是说现在的计算机都是支持多进程的,可以在一个时间段内执行多个任务.并且呢,可以提高CPU的使用率.多线程:多线程的存在,不是提高程序的执行速度.其实是为了提高应用程序的使用率.程序的执行其实都是在抢CPU的资源,CPU的执行权.多个进程是在抢这个资源,而其中的某一个进程如果执行路径比较多,就会有更高的几率抢到CPU的执行权.我们是不敢保证哪

Java面试准备之多线程

什么叫线程安全?举例说明 多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或者协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的. 比如无状态对象一定是线程安全的. 进程和线程的区别 调度: 线程是调度的基本单位,进程是拥有资源的基本单位.同一进程的中线程的切换不会引起进程的切换,不同进程中进行线程切换会引起进程的切换. 拥有资源:进程是拥有资源的基本单位,线程除了自身的栈外一般不拥有资源.而是和其他线程共享同一进程中

Java之十三 Java多线程

你一定知道多任务处理,因为它实际上被所有的现代操作系统所支持.然而,多任务处理有两种截然不同的类型:基于进程的和基于线程的.认识两者的不同是十分重要的.对很多读者,基于进程的多任务处理是更熟悉的形式.进程(process)本质上是一个执行的程序.因此,基于进程(process-based)的多任务处理的特点是允许你的计算机同时运行两个或更多的程序.举例来说,基于进程的多任务处理使你在运用文本编辑器的时候可以同时运行Java编译器.在基于进程的多任务处理中,程序是调度程序所分派的最小代码单位.在基

Java学习笔记之多线程

/* 进程: 正在进行中的程序(直译). 线程: 就是进程中一个负责程序执行的控制单元(执行路径) 一个进程中可以有多个执行路径, 称之为多线程. 一个进程中至少要有一个线程. 开启多个线程是为了同时运行多部分代码. 每一个线程都有自己运行的内容. 这个内容可以称为线程要执行的任务. 多线程的好处: 解决了多部分同时运行的问题. 多线程的弊端: 线程太多回到效率的降低. 其实应用程序的执行都是cpu在做着快速的切换完成的. 这个切换是随机的. jvm启动时就启动了多个线程,至少有两个线程可以分析