Java基础---多线程(一)

本文介绍了Java中的多线程概念,包括并行与并发的区别,以及多线程的三种创建方式:继承Thread类、实现Runnable接口以及匿名内部类实现。文章还详细讲解了线程安全问题,如同步代码块、同步方法和Lock锁的使用,以及如何避免死锁。
摘要由CSDN通过智能技术生成

一、多线程
并行:指两个或多个事件在同一时刻发生—同时发生
并发:指两个或多个事件在同一时间段内发生

多线程并行:多条线程同时执行
多线程并发:多条线程同时请求执行,但是cpu一次只能执行一个线程,所以只能随机交替执行,这个就是多线程并发

线程:其实就是进程的最小可执行单元
进程:其实就是应用程序可执行单元,exe文件

结论:
1.一个应用程序可以有多个进程,一个进程可以有多条线程
2.注意:一个java程序就只有一个进程,而一个进程一次只能执行一条线程,所以在java中只有多线程并发
3.线程调度:随机调度,JVm采用的是抢占式调度,没有采用分时调度,因此 可以能造成多线程执行结果的的随机性
4.线程执行具有随机性

Thread类:
构造方法:
子类继承了thread类 使用的构造方法

  • public Thread():分配一个新的线程对象。
  • public Thread(String name):分配一个指定名字的新的线程对象。—推荐

Runnable接口中的实现类作为参数传入thread构造方法中

   - public Thread(Runnable target):分配一个带有指定目标新的线程对象。
   - public Thread(Runnable target,String name):分配一个带有指定目标新的线程对象并指定名字。---推荐

常用方法:

 - public String getName():获取当前线程名称。
 - public static Thread currentThread():返回对当前正在执行的线程对象的引用。
 - public void start():导致此线程开始执行; Java虚拟机调用此线程的run方法。
 - public void run():此线程要执行的任务在此处定义代码。
 - public static void sleep(long millis):使当前正在执行的线程以指定的毫秒数暂停(暂时停止执行)。

注意:
Thread类代表线程,只有创建Thread类或者其子类对象才是创造线程对象
start()是Thread类的
run()方法是Runnable接口的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值