目录
黑马Java进阶教程,全面剖析Java多线程编程,含抢红包、抽奖实战案例
黑马Java进阶教程,全面剖析Java多线程编程,含抢红包、抽奖实战案例
多线程的作用是允许程序同时执行多个任务,从而提高系统的性能和资源利用率。具体来说,多线程的作用包括:
-
提高程序的响应性: 在多线程环境下,程序可以同时处理多个任务,因此可以更快地响应用户的请求,提高用户体验。
-
提高系统的并发性: 多线程使得多个任务可以并发执行,从而增加了系统的并发性,可以更好地处理大量的并发请求。
-
提高系统资源的利用率: 多线程可以充分利用系统的CPU和其他资源,使得系统的资源利用率更高,提高了系统的效率。
-
简化程序设计: 使用多线程可以将复杂的任务分解为多个较小的子任务,并行执行,从而简化了程序设计和管理。
-
实现异步操作: 多线程可以用于实现异步操作,例如在后台执行耗时的任务,而不会阻塞用户界面,提高了程序的流畅性和用户体验。
总的来说,多线程可以提高系统的性能、并发性和响应性,同时也能够更好地利用系统资源,从而提高系统的效率和可靠性。
1.什么是多线程?
2.并发与并行
CPU有这些,4,8,16,32,64 表示能同时进行的线程
3.多线程的第一种实现方式
package com.itheima.reggie;
/**
* @Author lpc
* @Date 2024 03 26 21 56
**/
public class MyThread extends Thread{
@Override
public void run(){
for (int i=0; i<100;i++){
System.out.println(getName()+"helloworld");
}
}
}
package com.itheima.reggie;
/**
* @Author lpc
* @Date 2024 03 26 21 58
**/
public class ThreadDemo {
public static void main(String[] args) {
/**
*多线程的第一种启动方式:
* 1.自己定义一个类雅承Thread
* 2.重写run方法
* 3.创建子类的对象-并启动线程
*/
MyThread myThread1 = new MyThread();
MyThread myThread2 = new MyThread();
//给线程起名字,好区分
myThread1.setName("线程1:");
myThread2.setName("线程2:");
//启动线程
myThread1.start();
myThread2.start();
}
}
4.多线程的第二种实现方式
public class ThreadDemo {
public static void main(String[] args) {
/**
*多线程的第二种启动方式
* 1.自己定义一个类实现Runnable接口
* 2.重写里面的run方法
* 3.创建自己的类的对象
* 4.创建一个Thread类的对象,并开启线程
*/
//创建MyRun的对象
//表示多线程要执行的任务
MyRun myRun = new MyRun();
//创建线程对象
//给线程取名字
Thread thread1 = new Thread(myRun);
thread1.setName("线程1:");
Thread thread2 = new Thread(myRun);
thread2.setName("线程2:");
//开启线程
thread1.start();
thread2.start();
}
}
public class MyRun implements Runnable{
@Override
public void run() {
for (int i=0;i<100;i++){
//获取当前线程对象
/* Thread thread = Thread.currentThread();
System.out.println(thread.getName()+i);*/
System.out.println(Thread.currentThread().getName()+i);
}
}
}