线程调度与控制
qq_45934088
这个作者很懒,什么都没留下…
展开
-
多线程常见的几道简单面试题
1:多线程有几种实现方案,分别是哪几种? 常见有两种。 (1)继承Thread类 (2)实现Runnable接口 扩展一种:实现Callable接口,这个需要和线程池结合才能使用 2:同步有几种方式,分别是什么? 两种 (1)同步代码块 (2)同步方法 3:启动一个线程是run()还是start()?他们的区别? start(); 区别: run():封装了被线程执行的代码,直接调用仅仅是普通方法的调用 start():启动线程,并由JVM自动调用run()方法 4:sleep()和wait()方法的区别?原创 2020-06-11 10:16:26 · 125 阅读 · 0 评论 -
线程通信及唤醒机制
线程间通信问题: 不同种类的线程间针对同一资源的操作 例:通过设置线程(生产者)和获取线程(消费者)针对同一个学生对象进行操作 分析 资源类:Student 设置学生数据:SetThread(生产者) 获取学生数据:GetThread(消费者) 测试类:A生产者消费者问题 线程安全问题 1:是否多线程环境 2:是否有共享数据 3:是否有多条语句操作共享数据 解决方案 加锁 注意:不原创 2020-06-10 09:06:55 · 129 阅读 · 0 评论 -
java线程同步锁,死锁。
*1:同步代码块解决线程安全问题 *同步代码块格式: synchronized(对象) //这里的对象相当于就是一把锁,多个线程必须是同一把锁。 { (需要同步的代码);//让某个线程在执行的时候,别人不能执行。 } 对象: 我们可以随便创建一个对象试试。 需要同步的代码是哪些呢? 把多条语句操作共享数据的代码的那部分给包起来 。 *同步的特点好处和弊端 特点 多个线程 解决问题的时候要注意:原创 2020-06-09 10:51:45 · 134 阅读 · 0 评论 -
线程调度与线程控制
/** 获取默认优先级 默认优先级为5 注意: 线程优先级范围是1-10 public final int getPriority()返回对象的优先级 如何设置线程对象的优先级呢? public final void setPriority(int newPriority)//更改线程优先级 */ //线程的调度 public class ThreadPriorityDemo { public static void main(String[] args) { ThreadPriority t原创 2020-06-06 10:05:03 · 152 阅读 · 0 评论