java并发编程基础


线程:

一个程序就是一个进程,一个进程可以有多个线程(每个时刻与CPU是一对一的)

现代操作系统采用时间片分配(应该是按需分配)

Thread printThread = new Thread(new Runner(), “PrintThread”); 线程的定义,这里的new Runner()实质是new了一个Runnable子类

等待/通知:

notify(),notifyAll() 通知等待在改对象的(所有的)线程 new Thread(new Notify(),“NotifyThread”);

wait(),wait(long):等待 相当于关,notify相当于开 new Thread(new Wait(),“WaitThread”);

线程池技术:

提前创建一定数量的线程,用户不能干预,线程就固定的那些

好处是减少了线程频繁创建和消亡的开销,也能快不少,并且线程一定量,也能对大量的任务起到缓冲的作用

弊端是不能标识线程和规定线程的优先级

本质:用工作队列连接请求线程和处理线程,请求线程把任务放入工作队列便返回,处理线程就不断从工作队列拿出来执行,没有就等待,放入一个任务就唤醒任意一个处理线程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值