Java实现生产者消费者的方式有:wait && notify、BlockingQueue、Lock && Condition等 wait、notify注意事项:(1)可以使用wait()和notify()方法在Java中实现线程间通信。不只是一个或两个线程,而是多个线程可以使用这些方法相互通信。( ...
分类:
其他好文 时间:
2018-12-15 17:24:19
阅读次数:
201
最近在写一些powershell脚本时候遇到一个问题,那就是要解压十几个zip文件,这样仅执行完解压操作差不多5min的时间就过去了,严重影响了效率,这时就想到了使用多线程的方法来执行这个解压操作,经过学习了解到powershell提供了一个Start-Job命令来实现并行执行。接下来对这个命令做一 ...
分类:
其他好文 时间:
2018-12-14 19:37:44
阅读次数:
142
在服务器的日常维护过程中,会经常用到下面的命令: netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) pri ...
分类:
其他好文 时间:
2018-12-14 19:32:01
阅读次数:
132
多个注册中心,其实用不同的配置对应 不同的端口号注册就行了。 注册中心自己也是个服务,看看之前的单个注册中心是怎么样的呢? server: port: 8888 # 服务端口eureka: instance: hostname: localhost # 设置主机名 client: registerW ...
分类:
编程语言 时间:
2018-12-14 10:54:35
阅读次数:
383
wait/notify机制 实现多个线程之间的通信可以使用wait、notify、notifyAll三个方法。这三个方法都是Object类的方法。wait():导致当前线程等待,直到另一个线程调用此对象的 notify()方法或 notifyAll()方法。wait(long timeout):导致 ...
分类:
编程语言 时间:
2018-12-13 23:26:07
阅读次数:
255
内存模型 线程间通信 Java线程间的通信方式一般有共享内存及消息两种方式,其中消息通信一般为传统的wait()和notify()方法来实现线程间的显式通信。而另外一种则是采用共享内存来实现隐式通信。 内存模型概述 在Java内存模型(JMM)中,大致如下图所示: ?? (1)、线程A将本地变更的副 ...
分类:
编程语言 时间:
2018-12-13 13:17:21
阅读次数:
170
mysql批量删除大量数据 假设有一个表(syslogs)有1000万条记录,需要在业务不停止的情况下删除其中statusid=1的所有记录,差不多有600万条, 直接执行 DELETE FROM syslogs WHERE statusid=1 会发现删除失败,因为lock wait timeou ...
分类:
数据库 时间:
2018-12-13 11:27:06
阅读次数:
254
使线程之间进行通信之后,系统间的交互性更加强大,在大大提高CPU利用率的同时还会使程序对各线程任务在处理的过程中进行有效的把控与监督。 1.不使用wait/notify实现线程间通信 使用sleep()+while(true)也可以实现线程间通信。 例如:两个线程,一个线程向集合中添加元素,当集合中 ...
分类:
编程语言 时间:
2018-12-13 01:13:56
阅读次数:
190
今天在编写软件的时候,发现程序一直接收不到数据。经过多次排查之后发现QTcpSocket类中的ReadyRead()信号没有被触发,随后换成了bytesAvailable()函数之后发现返回的值是零。最后,我使用了waitForReadyRead()函数之后才接受到数据。解决方法:开辟一个单独的线程用来存放QTCPSocket类。
分类:
其他好文 时间:
2018-12-12 19:38:00
阅读次数:
353
Java并发编程系列: Java 并发编程:核心理论 Java并发编程:Synchronized及其实现原理 Java并发编程:Synchronized底层优化(轻量级锁、偏向锁) Java 并发编程:线程间的协作(wait/notify/sleep/yield/join) Java 并发编程:vo ...
分类:
编程语言 时间:
2018-12-11 21:46:16
阅读次数:
300