Java并发
Java多线程并发的相关知识。
纵死侠骨香
一个致力于发布更多更好文章的大四青年。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
线程的几种可用状态
1.新建(new):新创建了一个线程对象。 2.就绪(runnable):线程对象创建后,其他线程(比如main线程)调用了该对象 的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获 取cpu的使用权。 3.运行(running):可运行状态(runnable)的线程获得了cpu时间片(timeslice),执行程序代...转载 2020-03-07 15:22:56 · 197 阅读 · 0 评论 -
进程间和线程间的的的通信方式,了解一下?
一、进程间的通信方式 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。有名管道 (namedpipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。信号量(semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共...转载 2020-03-06 00:37:48 · 437 阅读 · 0 评论 -
Java中有哪些锁?
详细请点击原文原创 2020-03-03 20:26:43 · 199 阅读 · 0 评论 -
Synchronized锁的是什么?
并发编程中锁的作用:让多线程同步执行 多线程同步内部如何实现:wait/notify,synchrozied,ReentranLock(1.6后) 一、Synchroized同步锁,锁的是什么? 锁的是对象头,并非代码块 二、Java对象由哪几部分组成? Java对象最多由三部分组成。 对象头(必有) Java对象的实例数据(可有) 填充数据(可...原创 2020-03-03 19:25:58 · 1901 阅读 · 1 评论 -
线程方法大总结
目录 一. 线程等待(wait) 二. 线程睡眠(sleep) 三. 线程让步(yield) 四. 线程中断(interrupt) 五. 线程唤醒(notify) 六. 其他方法: 一. 线程等待(wait) 调用该方法的线程进入 WAITING 状态,只有等待另外线程的通知或被中断才会返回,需要注意的 是调用 wait()方法后, 会释放对象的锁。因此, wait 方法一般用...原创 2020-02-29 22:04:31 · 197 阅读 · 0 评论 -
线程池的种类有哪些?
目录 一、可缓存线程池(NewCachedThreadPool) 二、 指定工作线程的线程池(NewFixedThreadPool) 三、定时的线程池newScheduledThreadPool 四、单线程线程池(NewSingleThreadExecutor) 一、可缓存线程池(NewCachedThreadPool) 创建一个可根据需要创建新线程的线程池,但是在以前构造的线程可用时...原创 2020-02-29 19:07:59 · 7208 阅读 · 1 评论 -
网络编程加多线程实现客户端服务器端双向通信
一、服务器类 import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; //服务器 public class Server { public static void main(String[] args) throws Exception { ServerSocket sever = n...原创 2019-08-07 21:09:58 · 489 阅读 · 0 评论 -
Java多线程之生产者和消费者问题
class Clerk { private int product = 0; public synchronized void produceProduct() { if(product<20){ product++; System.out.println(Thread.currentThread().getName()+":开始生产第"+product+"个产品");...原创 2019-08-06 21:43:53 · 206 阅读 · 0 评论 -
Java多线程的四种创建方式
一、通过继承Thread类的方法创建线程 1.继承Thread类 2.重写run()方法 3.创建对象通过start()方法启动线程 public class Demo01_多线程创建方式一 { public static void main(String[] args) { A a = new A(); B b = new B(); //a.run();要实现并发,不能用run()...原创 2019-08-06 21:01:36 · 254 阅读 · 0 评论
分享