![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线程
urban_37
凡事百分百努力去做,而后才有资格评判自己是否喜欢
展开
-
【探索】单例模式与多线程
单例模式结合多线程技术1.饿汉模式/“立即加载”立即加载就是使用类的时候已经将对象创建完毕,常见的实现方法是直接new 实例化。1.1 立即加载型单例模式创建MyObject.java:public class MyObject { private static MyObject myObject = new MyObject(); private MyObject(){ } public static MyObject getInstance(){原创 2020-07-02 15:16:50 · 107 阅读 · 0 评论 -
【探索】定时器Timer的使用
定时器Timer的使用Time类的主要作用就是设置计划任务,但封装任务的类却是TimeTask类,执行计划任务的代码要放入TimerTask的子类中,因为TimeTask是一个抽象类。1.方法schedule(TimeTask task,Date Time)的测试该方法的作用是在指定的日期执行一次某一任务。1.1 执行任务的时间晚于当前时间:在未来执行的效果创建Run1.java类:import java.text.ParseException;import java.text.Simple原创 2020-06-29 17:13:51 · 414 阅读 · 0 评论 -
类ThreadLocal的使用和类InheritableThreadLocal的使用
类ThreadLocal的使用变量值的共享可以使用public static变量的形式实现,所有的线程都使用同一个public static变量,那如何实现每一个线程都有自己的变量呢?JDK提供的ThreadLocal可用于解决这样的问题。类ThreadLocal主要解决的就是每个线程绑定自己的值,可以将ThreadLocal类比喻成全局存放数据的盒子,盒子中可以存储每个线程的私有数据。类ThreadLocal解决的是不同线程之间的隔离性,也就是不同线程拥有自己的值,不同线程中的值是可以放入Threa原创 2020-06-22 19:35:16 · 167 阅读 · 0 评论 -
关于多线程之synchronized关键字
对象及变量的并发访问1.synchronized同步方法synchronized关键字可用来保障原子性、可见性、和有序性。我们需要掌握的是:1)synchronized对象监视器为Object时的使用方法2)synchronized对象监视器为Class的使用方法1.1方法内的变量为线程安全非线程安全问题存在于实例变量中,对于方法内部的私有变量,则不存在线程安全问题。1.2 实例变量非线程安全问题如果多个线程共同访问一个对象中的实例变量,则有可能会出现非线程安全问题。两个线程同时访问同一原创 2020-06-19 16:34:13 · 230 阅读 · 0 评论 -
【探索】停止线程和暂停线程
停止线程和暂停线程停止一个线程意味着在线程处理完任务之前停止正在做的操作,也就是放弃当前的操作,虽然看起来非常简单,但是要做好防范措施。1. 方法1:使用Thread.stop(),但不推荐2. 方法2:使用Thread.interrupt()2.1 使用实例:创建文件MyThread.java:public class MyThread extends Thread{ @Override public void run() { super.run();原创 2020-06-16 19:16:05 · 419 阅读 · 0 评论 -
【探索】初识多线程之非线程安全
初识多线程之非线程安全非线程安全问题主要指多个线程对同一个对象中的同一个实例变量进行操作时会出现值被更改、值不同步的情况。实例变量共享造成的非线程安全例如:在实现投票功能的设计时,多个线程同时处理同一个人的票数创建:类MyThreadpublic class MyThread extends Thread{ private int count = 5; @Override public void run() { super.run(); c原创 2020-06-15 18:54:24 · 268 阅读 · 0 评论 -
线程的相关知识(线程生命周期)
1、进程和线程的概念进程:运行中的应用程序称为进程,拥有系统资源(cpu、内存)线程:进程中的一段代码,一个进程中可以有多段代码。本身不拥有资源(共享所在进程的资源);在java中,程序入口被自动创建为主线程,在主线程中可以创建多个子线程。区别: 1、是否占有资源问题 2、创建或撤销一个进程所需要的开销比创建或撤销一个线程所需要的开销大。 3、进程为重量...转载 2018-08-11 09:43:37 · 137 阅读 · 0 评论