Wesley13 Wesley13
4年前
java并发数据结构
一.BlockingDeque阻塞双端队列(线程安全):注意ArrayDeque和LinkedList仅仅扩展了Deque,是非阻塞类型的双端队列。BlockingQueue单向队列,其内部基于ReentrantLockCondition来控制同步和"阻塞"/"唤醒"的时
Wesley13 Wesley13
4年前
SSH实现动态数据源切换,事务场景下使用AOP
上周写代码遇到了切换数据源的问题,在同一个方法中向两个不同数据源做一些操作,但是这个方法使用了事务,所以网上一般动态切换数据源的方法就失效了。框架是spirngmvchibernate,数据库是oracle,连接池druid。一般情况下,操作数据都是在DAO层进行处理。一种办法是使用多个DataSource然后创建多个SessionFa
Wesley13 Wesley13
4年前
java并发神器 AQS(AbstractQueuedSynchronizer)
AbstractQueuedSynchronizerAQS的全称为(AbstractQueuedSynchronizer),这个类在java.util.concurrent.locks包AQS的核心思想是,如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的
Stella981 Stella981
4年前
PHP 使用 Swoole
<p在一般的Server程序中都会有一些耗时的任务,比如:发送邮件、聊天服务器发送广播等。如果我们采用同步阻塞的防水去执行这些任务,那么这肯定会非常的慢。</p<pSwoole的TaskWorker进程池可以用来执行一些异步的任务,而且不会影响接下来的任务,很适合处理以上场景。</p<p那么什么是异步任务呢?</p<p可以从下面
Stella981 Stella981
4年前
Django SimpleCMDB 项目
创建SimpleCMDB项目:root@localhost~$djangoadmin.pystartprojectSimpleCMDB创建应用,收集主机信息:root@localhost~$cdSimpleCMDB/root@localhostSimpleCMDB$python
Wesley13 Wesley13
4年前
Java核心技术学习笔记——进阶——第五章 Java多线程和并发编程——5.2 Java多线程实现
1. Java多线程创建的两种方式!(https://imgblog.csdnimg.cn/20201029235126329.png?xossprocessimage/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hw
Wesley13 Wesley13
4年前
LWIP再探
这这里是接上一篇内存池管理部分的,这里如果读者一打开memp.c的话会感觉特别那一理解原作者在干嘛,但是看懂了就明白原作者是怎么巧妙的使用了宏。废话不多说先说了下我分析是一下宏的条件是前提条件MEMP\_STATS0MEMP\_OVERFLOW\_CHECK0首先要去简单的看下include"lwip/priv/memp\
Stella981 Stella981
4年前
Python运算符 Python从入门到放弃
\和   赋值,判断是否相等。  If(c1)写成if(c1)会直接报错,Python中if条件中不允许赋值。(C语言中允许)号数字之间是计算和,字符串之间是拼接的意思如果非要在原始字符串结尾输入反斜杠,可以如何灵活处理?
Stella981 Stella981
4年前
ACT 与 Beetlsql 的搭配使用 二
第2章ACT与Beetlsql的搭配实战上一节为了便利,我们使用H2做为示例数据库,本节我们将使用国内目前最多人使用的MySQL,来实战一下.在本节里我们一起学习:1.ACT里如何连接数据库及配置多个数据源2.ACT里如何配置特定的数据库连接池3.项目的通用结构4.
Stella981 Stella981
4年前
Python Iteration,itertools(Python迭代器,itertool个人总结)
1.迭代是什么?首先看三个例子:当迭代的对象是一个list对象的时候,他打印的是每一个list对象for i in 1,2,3,4:    print(i)打印的结果:1234当我们迭代的对象是一个字符串的时候,他会一一打印出字符串的每一个字符