JAVASE 第二十五天

系统编程 - 多线程编程

多任务:
    多任务多用户操作


    Unix操作:
        多任务多用户操作
        现代操作系统的


注意:    在多核CPU诞生之前(单核CPU下),所有的多任务本质都是一种伪多任务。
    多核CPU下,就可以实现真正意义上的多任务!!


    并发:多个任务抢占少量资源
    并行:

时间片:每一个任务每次在CPU中占有的时间
优先级别调度:

注意:操作底层的多任务使用的就是时间片轮换机制,配合优先级别调度完成。

多任务:
    多进程编程
    多线程编程
    协程编程


进程:process
    操作系统的基本单位
    直接申请独立的内存
    
线程:thread
    依赖于进程
    

协程:coroutine

总结作业:

多线程编程:
    
java自身提供了四种创建多线程的方案:
    1、继承Thread
    2、实现Runable接口
    3、实现Callable接口
    4、线程池实现多线程


    
    
继承Thread
实现Runable接口
内容回顾:
    1、IDE工具使用    eclipse    Intellij IDEA
    2、多任务
        
    3、java实现多线程
        继承Thread
        实现Runnable接口
    

实现Callable接口:
    
    

线程对象的一些常见方法:

    getName
    getId
    getPriority
    getState
    interrupt
    stop
    isAlive
    join

Thread静态方法:
    

继承Thread和实现Runable有区别:

    继承Thread的线程对象之间不能共享数据

    实现Runable线程对象,如果使用不同的Thread对象启动同一个Runable线程对象,则会共享内存数据,
    这种现象,可能会出现线程安全问题。


线程安全问题:
    

如何解决线程安全问题:
    通过加锁解决    


    
synchronized关键字
    java提供了同步锁,synchronized,该锁有三种使用方式
        1、同步块
        2、将方法加锁
        3、将静态方法加锁

    该锁必须使用一个对象作为钥匙!!!
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值