2021-07-27 线程

 多线程:一个进程中使用了多个线程来完成不同的工作,称之为多线程,多个进程交替使用 CPU资源,并非正真的同时,线程每次执行时常由CPU时间片长度决定

java.lang.Thread

主线程

        main()就是主线程入口

        产生其他线程的线程

        必须最后完成执行,因为主线程执行各种关闭动作。

创建和启动线程

        继承java.lang.Thread或者实现java.lang.Runnable接口

        重写run()方法

        调用start()启动线程

线程的状态

线程的优先级,休眠、强制运行、礼让 

        setPriority() sleep() join() yield()

        高优先级的线程获得cpu资源的概率更大

        休眠使一个线程进入阻塞状态,休眠结束后进入就绪状态

        强制运行暂停当前线程,等待其他线程结束后再继续执行本线程

        礼让暂停当前线程,使当前线程进入就绪状态,允许其他同优先级的线程获得运行机会

多线程共享数据引发的问题

        在声明方法时使用synchronized关键字修饰

        或者使用synchronized修饰代码块

 线程安全

 线程安全              非线程安全

Hashtable                HashMap

StringBuffer        StringBuilder 

                                ArrayList

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值