- 浏览: 153457 次
- 性别:
- 来自: 深圳
最新评论
-
lyaqys:
lz实现的OptimisticExclusiveLock有点问 ...
java park/unpark 【java并发】基于JUC CAS原理,自己实现简单独占锁
文章列表
package com.aircoder.test;
import java.util.Date;
public class Test {
public static void sysLog(String str){
System.out.println(new Date()+"\t "+str);
}
public static void main(String[] args) {
System.out.println("\t\fHello world ");
sysLog("\t s ...
public class T2 {
public static void main(String[] args) {
Thread[] tt = findAllThreads();
for(Thread t: tt){
System.out.println(t.getId()+"\t "+t.getName());
}
}
public static Thread[] findAllThreads() {
ThreadGroup group =
Thread.currentThread().getThreadGroup();
...
jmap -histo:live 12594 查看堆栈有多少个存活的实例
jmap -histo 12594 查看堆栈有多少个的实例
/**
假如存在重复,一个节点最终会追上另外的一个节点
*/
public class T1 {
public static void main(String[] args) {
Node f1 = new Node();
Node f2 = f1;
f1.next = null;
f1.value=0;
for(int i =0;i < 20;i ++){
Node f3 = new Node();
f3.value = i;
f1.next = f3;
f1 = f3;
}
System.ou ...
判断两个一个链表是否存在循环(C专家编程中的问题)
#include<stdio.h>
#include<stdlib.h>
#include <malloc.h>
/**//*目的:检测指定的链表中是否存在循环*/
/**//*算法概要:同时指定p1,p2指向头节点,p1步长为1向后移,p2步长为2向后移*/
/**//*如果p1或p2指向NULL,说明不存在循环*/
/**//*如果存在循环,则p2经过循环必然会追上p1*/
/**//*算法的效率不是很高,但是却很简洁*/
/**//*author:dirtysalt,date:05.7.17,time: ...
原文:http://www.ctocio.com/bigdata/7080.html
盘点九大热门开源大数据技术
作者:关志刚星期二, 六月 26, 2012大数据无评论
随着全球企业和个人数据的爆炸式增长,数据本身正在取代软件和硬件成为驱动信息技术行业和全球经济的下一 ...
sed 's/workspace/fetch/g' *.sh 批量替换所有
find . -name "*.py" | xargs grep sogou 遍历当前目录下的所有文件,已经子木副下的所有文件,查找 “sogou”的关键字
3》find . -name *.java | xargs wc -l| awk '{sum+=$1} END {print "Sum = ", sum}'
求当前文件下以及子目录下所有java文件的行数的和是错误的
4》 140 ./java/jar/commons-pool-1.6-src/src/java ...
class SPubinfo implements RowMapper<AppNews> {
AppNews p = null;
@Override
public AppNews mapRow(ResultSet re, int arg1) throws SQLException {
p = new AppNews();
p.setNewsId(re.getInt("newsid"));
p.setReferCreateTime(new Date(re.getTimestamp("newsCreateTime&qu ...
原文: http://blog.csdn.net/eroswang/article/details/5804244
isspace(int x)
{
if(x==' '||x=='/t'||x=='/n'||x=='/f'||x=='/b'||x=='/r')
return 1;
else
return 0;
}
isdigit(int x)
{
if(x<='9'&&x>='0')
return 1;
else ...
原文:http://linux.cn/forum.php?mod=viewthread&tid=10591&fromuid=1
为重负网络优化 Nginx 和 Node.js
在搭建高吞吐量web应用这个议题上,NginX和Node.js可谓是天生一对。他们都是基于事件驱动模型而设计,可以轻易突破Apache等传统web服务器的C10K瓶颈。预设的配置已经可以获得很高的并发,不过,要是大家想在廉价硬件上做到每秒数千以上的请求,还是有一些工作要做的。
这篇文章假定读者们使用NginX的HttpProxyModule来为上游的node.js服务器充当反向代理。我们将介绍Ubuntu ...
2.strcpy和memcpy主要有以下3方面的区别。
2.1、复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。
2.2、复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符"\0"才结束,所以容易溢出。memcpy则是根据其第3个参数决定复制的长度。
2.3、用途不同。通常在复制字符串时用strcpy,而需要复制其他类型数据时则一般用memcpy
3.如果目标数组destin本身已有数据,执行memcpy()后,将覆盖原有数据(最多覆盖n)。如果要追加数据,则每次执行memcpy后,要将目标数组 ...
《Unix环境高级编程》这本书附带了许多短小精美的小程序,我在阅读此书的时候,将书上的代码按照自己的理解重写了一遍(大部分是抄书上的),加深一下自己的理解(纯看书太困了,呵呵)。此例子在Ubuntu10.04上测试通过。
程序简介:多线程的进程通过fork函数创建子进程时,如果要清除各种锁的状态,可以通过调用pthread_atfork函数建立fork处理程序。
//《APUE》程序12-7:pthread_atfork实例
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h> ...
原文:http://blog.chinaunix.net/uid-23629988-id-199153.html
今天帮助同事调试一个问题,最终确定是在多线程下使用sigwait引发的。
该线程大致流程如下:
void thread(void *data)
{
int wait_sig = *(int*)data;
sigset_t sigset;
sigemptyset(&si ...
[root@localhost ~] python -V
Python 2.4.3
1.先安装GCC
yum -y install gcc
2.下载Python-2.7.2
[root@localhost ~] wget http://python.org/ftp/python/2.7.2/Python-2.7.2.tar.bz2
3.解压Python-2.7.2
[root@localhost ~] tar -jxvf Python-2.7.2.tar.bz2
4.进入刚解压后的文件夹(可使用命令):
[root@localhost ~] cd Python-2.7.2
5.安 ...
Linux多线程同步的几种方式
线程的最大特点是资源的共享性,但资源共享中的同步问题是多线程编程的难点。linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量和信号量。
1)互斥锁(mutex)
通过锁机制实现线程间的同步。同一时刻只允许一个线程执行一个关键部分的代码。
int pthread_mutex_init(pthread_mutex_t *mutex,const pthread_mutex_attr_t *mutexattr);
int pthread_mutex_lock(pthread_mutex *mutex);
int p ...