常见面试题目: 1. 描述线程与进程的区别? 2. 为什么GUI不支持跨线程访问控件?一般如何解决这个问题? 3. 简述后台线程和前台线程的区别? 4. 说说常用的锁,lock是一种什么样的锁? 5. lock为什么要锁定一个参数,可不可锁定一个值类型?这个参数有什么要求? 6. 多线程和异步有什么 ...
分类:
编程语言 时间:
2019-12-12 15:01:40
阅读次数:
53
一、JUC 简介 在Java5.0提供了java.util.concurrent(简称JUC)包,在此包中增加了并发编程常用工具类,包括线程池,异步IO和轻量级任务框架;还提供了设计用于多线程上下文中的Collection实现等。目的就是为了更好的支持高并发任务,让开发者利用这个包进行的多线程编程时 ...
分类:
编程语言 时间:
2019-12-06 21:11:33
阅读次数:
112
多线程是Java编程中一块非常重要的内容,其中涉及到很多概念。这些概念我们平时经常挂在嘴上,但是真的要让你介绍下这些概念,你可能还真的讲不清楚。这篇博客就总结下多线程编程中经常用到的概念,理解这些概念能帮助我们更好地掌握多线程编程。 进程(Process)与线程(Thread) 进程和线程是最常提到 ...
分类:
其他好文 时间:
2019-12-02 15:22:29
阅读次数:
69
wait 和 notify 简介 wait 和 notify 均为 Object 的方法: Object.wait() —— 暂停一个线程 Object.notify() —— 唤醒一个线程 从以上的定义中,我们可以了解到以下事实: 想要使用这两个方法,我们需要先有一个对象 Object。 在多个线 ...
分类:
编程语言 时间:
2019-12-02 14:05:56
阅读次数:
99
转发:https://www.iteye.com/blog/wiselyman-2212679 15.1 TaskExecutor spring的TaskExecutor为在spring环境下进行并发的多线程编程提供了支持; 使用ThreadPoolTaskExecutor可实现一个基于线程池的Ta ...
分类:
编程语言 时间:
2019-11-28 15:18:51
阅读次数:
65
Linux系统下的多线程遵循POSIX线程接口,称为 pthread。编写Linux下的多线程程序,需要使用头文件pthread.h,连接时需要使用库libpthread.a。顺便说一下,Linux 下pthread的实现是通过系统调用clone()来实现的。clone()是 Linux所特有的系统 ...
分类:
编程语言 时间:
2019-11-27 14:58:31
阅读次数:
108
JUC是java.util.concurrent的缩写,java.util.concurrent是在并发编程中使用的工具类。 在以前的解决并发问题,一般是通过Synchronize关键字,现在可以通过juc下的工具类,来解决多线程并发问题。 首先写有个demo:使用synchronized进行上锁 ...
分类:
编程语言 时间:
2019-11-23 23:39:36
阅读次数:
97
多线程编程2.0——锁的相关认识 多线程对于共享变量访问带来的安全性问题 数据结果与预期不一致性的问题 问题描述 一个自增的程序,当两个线程操作时,可能读取的时同一个数据,再将其自增1,最终返回值只增加了1,实际结果应该增加2。 解决方法 增加锁,达到数据安全的目的,不允许读正在被修改的数据,只允许 ...
分类:
编程语言 时间:
2019-11-23 16:13:24
阅读次数:
49
多线程编程的基础相关认识 基本概念 进程 一个正在执行的程序,程序运行时系统会创建一个正在执行的程序,程序运行时,系统会创建一个进程,并且给每个进程分配独立的内存地址空间保证每个进程地址不会相互干扰。同时,在cup对进程做时间片的切换时,保证进程切换过程中仍然做进程切换之时运行的位置开始执行。所以进 ...
分类:
编程语言 时间:
2019-11-23 14:26:01
阅读次数:
83
1、Java 并发编程知识梳理以及常见处理模式 https://github.com/Fadezed/concurrency 2、Java 高并发多线程编程系列 https://github.com/Wasabi1234/Java-Concurrency-Progamming-Tutorial 3、 ...
分类:
编程语言 时间:
2019-11-23 00:01:28
阅读次数:
83