Java多线程简介,及简单实用方法

线程的简介

进程:系统中资源分配以及资源调动的基本单位如qq 输入法等;
每一个进程都有很多个线程: 如QQ(进程):可以收发信息,播放音乐,查看网页,下载文件等(线程并发机制)

线程的运行方法:
举例: 比如,线程1 线程2 线程3 线程4
系统会给每个线程分配一个有限使用CPU的时间片,在这个时间片内先完成线程1中的一分部任务, 再跳到线程2中使用一个CPU时间片 完成一部分任务
依次类推,依次循环,由于CPU运行的时间比较快 所以给大家一种感觉好像是同时运行一样

**线程的特点:**
 1.进程是资源分配的最小单位,线程是最小的执行单位
 2.一个进程有多个线程
 3.线程共享进程资源

实现线程的两种方式

  • 1.Thread 类
    语法:
    Thread t = new Thread();
    Thread t = new Thread(String name);String name: 自定义线程名:便于查找线程
    方法:
    run() 线程运行时执行的方法
    start()使线程开始执行的方法
    Thread.sleep(x) 线程休眠,x多少毫秒;

举例:

public class dome {
	public static void main(String[] args) {
		threada t = new threada();
		threadb t1 = new threadb();
		t.start();
		t1.start();
	}
}
class threada extends Thread{//线程1
	public void run() {
		super.run();
		for(int i=0;i<100;i++) {
			System.out.println(i);
			try {
				Thread.sleep(1000);//休眠(停顿)1秒钟,1000毫秒 等于1秒
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
}
class threadb extends Thread{//线程2
	public void run() {
		super.run();
		for(char i='a';i<'z';i++) {
			System.out.println(i);
			try {
				Thread.sleep(1000);//休眠(停顿)1秒钟,1000毫秒 等于1秒
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
}

Runnable接口

介绍:class Thread 线程的核心是run()方法,而与Thread同在Java.lang包下的还有一个可以代表并发线程的接口 lnterface Runnable 它也有run()方法

既然有Thread类了 为什么还要利用Runnable创建线程呢?
原因: 创建线程时,编写一个线程是继承了Thread类,那么就存在一个问题:这个线程类只能继承Thread类,不能继承其他类。所以为了解决这个问题

java就提供了这个并发接口Runnable接口 它可以继承任何父类。

语法:
Thread t = new Thread (Runnable obj);
t.start();

发布了20 篇原创文章 · 获赞 13 · 访问量 2006

猜你喜欢

转载自blog.csdn.net/qq_42724864/article/details/104485758