![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
B1_java的多线程
java的多线程
少年西西
这个作者很懒,什么都没留下…
展开
-
Java中JDK5.0新增线程创建的方式
新增方式一:实现Callable接口 //1.创建一个实现Callable的实现类 class NumThread implements Callable{ //2.实现call方法,将此线程需要执行的操作声明在call()中 @Override public Object call() throws Exception { int sum = 0; for (int i = 1; i <= 100; i++) { if(原创 2020-12-11 18:35:55 · 70 阅读 · 0 评论 -
Java中线程通信
1.线程通信涉及到的三个方法 wait(): 一旦执行此方法,当前线程就进入阻塞状态,并释放同步监视器。 notify(): 一旦执行此方法,就会唤醒被wait的一个线程。如果有多个线程被wait,就唤醒优先级高的那个。 notifyAll(): 一旦执行此方法,就会唤醒所有被wait的线程。 2.说明: 1.wait(),notify(),notifyAll()三个方法必须使用在同步代码块或同步方法中。 2.wait(),notify(),notifyAll()三个方法的调用者必须是同步代码块或同步原创 2020-12-10 20:50:52 · 73 阅读 · 0 评论 -
java中线程死锁问题
1.死锁的理解: 不同的线程分别占用对方需要的同步资源不放弃,都在等待对方放弃自己需要的同步资源,就形成了线程的死锁 2.说明: 1)出现死锁后,不会出现异常,不会出现提示,只是所有的线程都处于阻塞状态,无法继续 2)我们使用同步时,要避免出现死锁。 3.举例: public class ThreadTest { public static void main(String[] args) { StringBuffer s1 = new StringBuffer();原创 2020-12-10 20:50:32 · 103 阅读 · 0 评论 -
java的线程同步机制
1.背景 2.Java解决方案:同步机制 方式一:同步代码块 synchronized(同步监视器){ //需要被同步的代码 } 说明: 1.操作共享数据的代码,即为需要被同步的代码。 -->不能包含代码多了,也不能包含代码少了。 2.共享数据:多个线程共同操作的变量。比如:ticket就是共享数据。 3.同步监视器,俗称:锁。任何一个类的对象,都可以充当锁。 要求:多个线程必须要共用同一把锁。 4.在继承Thread类创建多线程的方式中,慎用this充当同步监视器,考虑使原创 2020-12-10 20:49:54 · 323 阅读 · 0 评论 -
Java中Thread类中的常用方法和生命周期
Thread类中的常用的方法 1.start(): 启动当前线程;调用当前线程的run() 2.run(): 通常需要重写Thread类中的此方法,将创建的线程要执行的操作声明在此方法中 3.currentThread(): 静态方法,返回执行当前代码的线程 4.getName(): 获取当前线程的名字 5.setName(): 设置当前线程的名字 6.yield(): 释放当前cpu的执行权,只是使该线程进入就绪状态,不一定一定执行其它线程,也可能该线程再次抢占进行运行。 7.join(): 在线程a中原创 2020-12-10 20:49:26 · 132 阅读 · 0 评论 -
Java中创建多线程的两种方式
方式一:继承Thread类的方式 1.创建一个继承于Thread类的子类 2.重写Thread类的run() --> 将此线程执行的操作声明在run()中 3.创建Thread类的子类的对象 4.通过此对象调用start() 注意:执行完start()后并不表示此对象对应的线程就一定会立即得到执行,只是表示该线程具有了可以立即被CPU执行的资格,但由于想抢占CPU的线程很多,CPU并不一定会立即去执行此对象对应的线程。 说明两个问题: 问题一:我们不能通过直接调用run()的方式启动线程。 问题二:原创 2020-12-10 20:48:56 · 166 阅读 · 0 评论 -
java中程序、进程、线程
程序(programm) 概念:是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。 进程(process) 概念: 是程序的一次执行过程,或是正在运行的一个程序。是一个动态 的过程,有它自身的产生、存在和消亡的过程。——生命周期 说明:如:运行中的QQ,运行中的MP3播放器 程序是静态的,进程是动态的 进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域 线程(thread) 概念:进程可进一步细化为线程,是一个程序内部的一条执行路径。 说明: 若一个进程同一时原创 2020-12-10 20:48:16 · 111 阅读 · 0 评论