
java 线程
不亦花开
这个作者很懒,什么都没留下…
展开
-
多线程快速入门
多线程快速入门1.线程与进程2.为什么要使用多线程?3.多线程应用场景4.多线程创建方式5.练习题6.线程生命周期7.面试总结8.练习题线程与进程区别每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常...原创 2018-10-14 12:21:16 · 949 阅读 · 0 评论 -
多线程的三大特性及java的内存模型
多线程有三大特性什么是原子性即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。一个很经典的例子就是银行账户转账问题:比如从账户A向账户B转1000元,那么必然包括2个操作:从账户A减去1000元,往账户B加上1000元。这2个操作必须要具备原子性才能保证不出现一些意外的问题。我们操作数据也是如此,比如i = i+1;其中就包括,读取i的值,计算i,写...原创 2018-10-22 10:45:44 · 456 阅读 · 0 评论 -
线程安全
为什么有线程安全问题?当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题。但是做读操作是不会发生数据冲突问题。案例:需求现在有100张火车票,有两个窗口同时抢火车票,请使用多线程模拟抢票效果。class ThreadTrain1 implements Runnable { private int count = 100; private...原创 2018-10-20 17:03:28 · 3618 阅读 · 0 评论 -
java线程池
线程池什么是线程池Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。在开发过程中,合理地使用线程池能够带来3个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制地创建,不仅会消耗系统资...原创 2018-10-28 22:09:15 · 354 阅读 · 0 评论 -
停止线程以及Threadlocal
如何停止线程?停止线程思路1. 使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。2. 使用stop方法强行终止线程(这个方法不推荐使用,因为stop和suspend、resume一样,也可能发生不可预料的结果)。3. 使用interrupt方法中断线程。代码:class StopThread implements Runnable { private bool...原创 2018-10-25 20:49:59 · 6725 阅读 · 0 评论 -
多线程之间实现通讯
什么是多线程之间通讯?多线程之间通讯,其实就是多个线程在操作同一个资源,但是操作的动作不同。多线程之间通讯需求需求:第一个线程写入(input)用户,另一个线程取读取(out)用户.实现读一个,写一个操作。共享资源源实体类class Res { public String userSex; public String userName;}输入线程资源class IntThr...原创 2018-10-24 11:16:46 · 2669 阅读 · 0 评论 -
java 面试线程
1、多线程中的i++线程安全吗?为什么?i++和++i都是i=i+1的意思,但是过程有些许区别:i++:先赋值再自加。(例如:i=1;a=1+i++;结果为a=1+1=2,语句执行完后i再进行自加为2)++i:先自加再赋值。(例如:i=1;a=1+++i;结果为a=1+(1+1)=3,i先自加为2再进行运算)但是在单独使用时没有区别:如for(int i=0;i<10;i++)...原创 2019-04-05 17:23:08 · 1651 阅读 · 0 评论