java 多线程二
线程中断:
/**
* Created by root on 17-9-30.
*/
public class Test4Thread2 { public static void main(String[] args) {
Thread t=new Thread(()->{try {
System.out.println(Thread.currentThread().getName()+"start");
Thread.sleep(10000);
System.out.println(Thread.currentThread().getName()+"end");
} catch (InterruptedException e) {
e.printStackTrace();
}});
t.start(); Thread t2=new Thread(()->{try {
for (int i=0;i<10;i++){
Thread.sleep(1000);
System.out.println(Thread.currentThread().getName()+">>>"+i);
if (i==3){
t.interrupt();
}
} } catch (InterruptedException e) {
e.printStackTrace();
}});
t2.start(); }
}
输出:
Thread-0start
Thread-1>>>0
Thread-1>>>1
Thread-1>>>2
Thread-1>>>3
java.lang.InterruptedException: sleep interrupted
at java.lang.Thread.sleep(Native Method)
at com.xh.alibaba.Test4Thread2.lambda$main$0(Test4Thread2.java:11)
at java.lang.Thread.run(Thread.java:745)
Thread-1>>>4
Thread-1>>>5
Thread-1>>>6
Thread-1>>>7
Thread-1>>>8
Thread-1>>>9 Process finished with exit code 0
当线程0在休眠时,线程1打断他,就会报异常。
线程优先级:
/**
* Created by root on 17-9-30.
*/
public class Test4Thread3 { public static void main(String[] args) {
MyT1 myT1 = new MyT1();
Thread t2_1 = new Thread(myT1,"myT1_1");
Thread t2_2 = new Thread(myT1,"myT1_2");
Thread t2_3 = new Thread(myT1,"myT1_3");
t2_1.setPriority(1);
t2_2.setPriority(10);
t2_3.setPriority(1);
t2_1.start();
t2_2.start();
t2_3.start();
} } class MyT1 implements Runnable {
int tickets = 10; public void run() {
for (; tickets > 0; ) {
System.out.println(Thread.currentThread().getName() + ":" + tickets--);
}
}
}
结果:
myT1_2:10
myT1_3:9
myT1_1:7
myT1_2:8
myT1_2:4
myT1_2:3
myT1_2:2
myT1_2:1
myT1_1:5
myT1_3:6 Process finished with exit code 0
java 多线程二的更多相关文章
- 从零开始学习Java多线程(二)
前面已经简单介绍进程和线程,为后续学习做铺垫.本文讨论多线程传参,Java多线程异常处理机制. 1. 多线程的参数传递 在传统开发过程中,我们习惯在调用函数时,将所需的参数传入其中,通过函数内部逻辑处 ...
- Java多线程(二) —— 深入剖析ThreadLocal
对Java多线程中的ThreadLocal类还不是很了解,所以在此总结一下. 主要参考了http://www.cnblogs.com/dolphin0520/p/3920407.html 中的文章. ...
- Java多线程(二) 多线程的锁机制
当两条线程同时访问一个类的时候,可能会带来一些问题.并发线程重入可能会带来内存泄漏.程序不可控等等.不管是线程间的通讯还是线程共享数据都需要使用Java的锁机制控制并发代码产生的问题.本篇总结主要著名 ...
- java多线程(二)-Runnable和Thread
Java在顺序性语言的基础上提供了多线程的支持.Java的线程机制是抢占式的.这表示调度机制会周期的中断线程,将上下文切换到另一个线程,从而为每个线程都提供时间片.(与抢占式多线程对应的是 协作式多线 ...
- java多线程(二)之实现Runnable接口
一.java多线程方式2: 实现Runnable接口 好处:a. 可以避免由于java单继承带来的局限性. b. 适合多个相同的程序的代码去处理同一个资源的情况, 把线程与程序的代码, 数据有效分离, ...
- java多线程二之线程同步的三种方法
java多线程的难点是在:处理多个线程同步与并发运行时线程间的通信问题.java在处理线程同步时,常用方法有: 1.synchronized关键字. 2.Lock显示加锁. 3.信号量Se ...
- java多线程(二)
线程的阻塞状态: 参考java多线程(一)多线程的生命周期图解,多线程的五种状态. 1.1 join(),如果在A线程体里面执行了B线程的join()方法,那么A线程阻塞,直到B线程生命周期结 ...
- Java多线程——<二>将任务交给线程,线程声明及启动
一.任务和线程 <thinking in java>中专门有一小节中对线程和任务两个概念进行了具体的区分,这也恰好说明任务和线程是有区别的. 正如前文所提到的,任务只是一段代码,一段要达成 ...
- java多线程(二)——锁机制synchronized(同步方法)
synchronized Java语言的关键字,可用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这段代码.当两个并发线程访问同一个对象object中 ...
随机推荐
- day8 文件操作
文件基本操作 # 打开文件 f = open("小重山","r",encoding="utf-8") # readline 方法 只查看一行 ...
- 自学Zabbix之路15.4 Zabbix数据库表结构简单解析-Expressions表、Media表、 Events表
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix之路15.4 Zabbix数据库表结构简单解析-Expressions表.Medi ...
- [luogu3505][bzoj2088][POI2010]TEL-Teleportation【分层图】
题目大意 给出了一个图,然后让你加最多的边,让点\(1\)到\(2\)之间至少要经过5条边 解法 比较清楚,我们可以将这个图看作一个分层图,点\(1\)为第一层,再将\(2\)作为第五层,这样第一层和 ...
- 【LG 4831】Scarlet loves WenHuaKe(生成函数)
题目链接 一道好题,第一次用生成函数做题.感谢赛珂狼教我这个做法. 首先我们显然可以把题目中的限制转化成一个二分图的模型:左边有$n$个点,右边有$m$个点,如果在棋盘$(i,j)$这个点上放了炮,那 ...
- SP1805 HISTOGRA (单调栈)
单调栈维护栈顶为高度最大的 记下来栈中每个元素入栈时顶掉的最靠左的一个位置(如果没顶掉就是它本身),那么在它出栈的时候,它所带来的面积就是(出栈位置-记录位置)*高度 (可能会有加一减一之类的细节) ...
- VirtualBox中slitaz系统不能联网
首先,关于VirtualBox虚拟机中安装slitaz操作系统中,先不讲,现在假设电脑中已经装好了VirtualBox,并且已经装好了slitaz操作系统,一个轻量版的linux发行版本. 右上角我画 ...
- centos7 上配置Javaweb---MySQL的安装与配置、乱码解决
上一篇谢了关于jdk和tomcat的安装.今天先更新一下有用的. 1. 不用关闭防火墙,把80端口添加进防火墙的开放端口. firewall-cmd --zone=public --add-port= ...
- 洛谷 P4375 [USACO18OPEN]Out of Sorts G(树状数组求冒泡排序循环次数加强版)
传送门:Problem 4375 参考资料: [1]:https://www.cnblogs.com/Miracevin/p/9662350.html [2]:https://blog.csdn.ne ...
- MUI 底部弹出的选择框
大致是这样: 第一种方法:这种方法是使用5+的nativeUI原生动画 1)引入:mui.css或者mui.min.css mui.js或者mui.min.js也行 mui.picker.min.js ...
- promise用法详解
es6的promise可谓是异步书写的一大福音,过去异步js书写是函数嵌套函数的方式,promise出现后书写异步js代码就变得美观得多了 以前的写法:回调函数不停嵌套 ajax('/banners' ...