1.单列集合List 1.1 Vector和ArrayList以及LinkedList区别和联系,以及分别的应用场景 线程安全: Vector:如果创建Vector时没有指定容量,则默认容量为10,底层基于数组实现,线程是安全的,底层采用synchronized同步方法进行加锁 ArrayList: ...
                            
                            
                                分类:
其他好文   时间:
2020-03-14 18:39:21   
                                阅读次数:
58
                             
                         
                    
                        
                            
                            
                                    一、介绍 类的单例设计模式,就是采用一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。 二、单例模式八种方式 1. 饿汉式(静态常量) 2. 饿汉式(静态代码块) 3. 懒汉式(线程不安全) 4. 懒汉式(线程安全,同步方法) 5.  ...
                            
                            
                                分类:
其他好文   时间:
2020-03-14 00:49:05   
                                阅读次数:
42
                             
                         
                    
                        
                            
                            
                                多线程并发,给我们编程带来很多好处,完成更多更有效率的程序。但是也给我们带来线程安全问题。比如多个线程同时操作一个对象时,第一个线程没处理好,第二个线程就进来插一脚,影响了程序执行。为了每个线程被安全执行,需要引入一个对象锁的概念,也就是线程同步方法。 synchronized(Objecrt){你 ...
                            
                            
                                分类:
编程语言   时间:
2020-03-14 00:46:34   
                                阅读次数:
56
                             
                         
                    
                        
                            
                            
                                    🔒Lock是显式锁(手动开启和关闭锁,别忘记关闭锁)synchronized是隐式锁,处理作用域自动释放 🔒Lock只有代码块锁,synchronized有代码块锁和方法锁 🔒使用Lock锁,JVM将花费较少的时间来调度线程,性能更好。并且具有更好的扩展性(提供更多的子类) 🔒优先使用顺序: ...
                            
                            
                                分类:
其他好文   时间:
2020-03-13 20:34:57   
                                阅读次数:
54
                             
                         
                    
                        
                            
                            
                                    1、同步方法中有异步方法 执行顺序是:Await就等待。同步方法中当遇见异步方法中Await将直接跳出异步方法,继续往下执行同步方法的代码,当异步Await处理完后接着CallBack到异步方法中,执行(刚跳出)Await下面的代码 public void DoRun1() { Console.Wr ...
                            
                            
                                分类:
其他好文   时间:
2020-03-13 19:00:58   
                                阅读次数:
74
                             
                         
                    
                        
                            
                            
                                    1、synchronized 方法与锁对象 线程锁的是对象。 1)A线程先持有 object 对象的 Lock 锁, B线程可以以异步的方式调用 object 对象中的非 synchronized 类型的方法 2)A线程先持有 object 对象的 Lock 锁, B线程如果在这时调用 object ...
                            
                            
                                分类:
编程语言   时间:
2020-03-11 01:04:06   
                                阅读次数:
67
                             
                         
                    
                        
                            
                            
                                    一.单例模式介绍 某个类只能存在一个对象实例 二.八种实现方式 饿汉式(静态常量) 饿汉式(静态代码块) 懒汉式(线程不安全) 懒汉式(线程安全,同步方法) 懒汉式(线程不安全,同步代码块) 双重检查 静态内部类 枚举 1.饿汉式(静态常量) //饿汉式(静态变量) public class Sig ...
                            
                            
                                分类:
其他好文   时间:
2020-03-10 01:33:27   
                                阅读次数:
72
                             
                         
                    
                        
                            
                            
                                    wait():将线程进入阻塞状态,需要等待唤醒,此时释放cpu资源 notify():程序一旦执行到此方法,就会唤醒一个被wait的线程 notifyAll():程序一旦执行到此方法,就会唤醒被wait的线程 注意:这三个方法只能用在同步方法或同步代码块中 这三个方法的调用者必须是同步监视器,否则会 ...
                            
                            
                                分类:
编程语言   时间:
2020-02-28 19:08:24   
                                阅读次数:
67
                             
                         
                    
                        
                            
                            
                                GPS平台、网站建设、软件开发、系统运维,找森大网络科技!http://cnsendnet.taobao.com来自森大科技官方博客http://www.cnsendblog.com/index.php/?p=405 我们在编程的时候,有时会使用多线程来解决问题,比如你的程序需要在后台处理一大堆数据 ...
                            
                            
                                分类:
编程语言   时间:
2020-02-18 18:19:44   
                                阅读次数:
106
                             
                         
                    
                        
                            
                            
                                    临界资源问题的原因:某一个线程在对临界资源进行访问时,还没来得及完全修改临界资源的值,临界资源就被其他线程拿去访问,导致多个线程访问同一资源。直观表现为打印结果顺序混乱。 解决方法:加锁 静态方法中用类锁,非静态方法中用对象锁。 1.同步代码段:synchronized(){...}2.同步方法:使 ...
                            
                            
                                分类:
编程语言   时间:
2020-02-10 10:08:53   
                                阅读次数:
99