class SingleDemo { public static SingleDemo instance = null; private SingleDemo() { System.out.println(Thread.currentThread().getName() + "\t 我是Single ...
分类:
编程语言 时间:
2020-07-03 12:18:54
阅读次数:
68
转自: java命令--jstack 工具 ps -mp 1 -o THREAD,tid,time | sort -rn jstack 1|grep D29 -A 30 printf "%x\n" 10426 jstack -l 10424 | grep 28ba jstack pid jstack ...
分类:
编程语言 时间:
2020-07-02 16:47:45
阅读次数:
59
一、什么是线程封闭 在多线程编程中,在对共享的数据进行访问时,通常需要进行同步。一种避免使用同步的方式就是不共享数据。如果仅仅只是在单线程内访问数据,那么就不需要进行同步。这种技术就叫做线程封闭(Thread Confinement),这是实现线程安全性的最简单方式之一。某个对象封闭在一个线程中时, ...
分类:
编程语言 时间:
2020-07-01 23:42:45
阅读次数:
67
一、为什么要使用线程池 先谈谈直接建立Thread的弊端: 1、每次执行不同的任务都需要新建线程,浪费资源和时间 2、缺乏统一的管理,容易出现自锁的现象 再来对比说说使用线程池的优势: 1、起到重用线程的作用,减少时间和资源的浪费 2、可有效的控制线程的总数,避免资源的浪费 3、有更多的功能比如定期 ...
分类:
编程语言 时间:
2020-07-01 22:20:39
阅读次数:
84
多线程 进程是执行程序的一次执行过程,是系统资源分配的单位;一个进程可以包含若干个线程,线程是CPU调度和执行的单位; 一.继承Thread类 自定义线程类继承Thread类 重写run()方法,编写线程执行体 创建线程对象,调用start()方法启动线程 package oop; //线程开启不一 ...
分类:
编程语言 时间:
2020-07-01 20:27:48
阅读次数:
51
1.Java中守护线程和本地线程区别java中的线程分为两种:守护线程(Daemon)和用户线程(User)。任何线程都可以设置为守护线程和用户线程,通过方法Thread.setDaemon(boolon);true则把该线程设置为守护线程,反之则为用户线程。Thread.setDaemon()必须在Thread.start()之前调用,否则运行时会抛出异常。两者的区别:唯一的区别是判断虚拟机(J
分类:
编程语言 时间:
2020-07-01 18:39:44
阅读次数:
290
线程的同步实现方式 方式一:同步代码块 synchronized(锁对象){ //需要上锁的内容(同步代码块) } 方式二:同步方法 public synchronized 返回类型 方法名(参数){ //需要上锁的内容(同步代码块) } 普通的同步方法,锁对象是this 静态的同步方法,锁对象是: ...
分类:
编程语言 时间:
2020-07-01 16:10:12
阅读次数:
68
官方文档 遇到真正的await后,由新线程接管,即操作开始异步。 不阻塞主线程 class Program { static void Main(string[] args) { Console.WriteLine($"主线程{Thread.CurrentThread.ManagedThreadId ...
分类:
其他好文 时间:
2020-07-01 13:03:16
阅读次数:
47
线上一个mysql5.6主从复制被操作系统重启弄崩溃了。重新搭建主从复制时, start slave io_thead; start slave sql_thread; 之后,show slave status\G 报错: ERROR 1872 (HY000): Slave failed to in ...
分类:
其他好文 时间:
2020-07-01 00:23:54
阅读次数:
91
很多时候写windows程序都需要结合多线程,在C#中用如下得代码来创建并启动一个新的线程。 Thread thread = new Thread(new ThreadStart(ThreadProc));//实例化一个线程 thread.IsBackground = true;//将线程改为后台线 ...
分类:
编程语言 时间:
2020-07-01 00:16:11
阅读次数:
69