Java线程:线程的同步与锁
一、同步问题提出
线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。
例如:两个线程ThreadA、ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数据。
public
class
Foo {
private
int
x = 100;
public
int
getX() {
return
x;
}
public
int
fix(int
y) {
x = x - y;
return
x;
}
}
public
class
MyRunnable implements
Runnable {
private
Foo foo = new
Foo();
public
static
void
main(String[] args) {
MyRunnable r = new
MyRunnable();
Thread ta = new
Thread(r, "Thread-A"
);
Thread tb = new
Thread(r, "Thread-B"
);
ta.start();
tb.start();
}
public
void
run() {
for
(int
i = 0; i < 3; i++) {
this
.fix(30);
try
{
Thread.sleep(1);
} catch
(InterruptedException e) {
e.printStackTrace();
}
&
相关文档:
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......
==========================================
xml文件
<?xml version="1.0" encoding="GB2312"?>
<RESULT>
<VALUE>
<NO>A1234</NO>
<ADDR>四川省XX县XX镇XX路X段XX号</ADDR>
</VALUE>
<VALUE>
<NO>B1234</NO>
<ADDR>四川省XX市XX乡XX ......
/**我这只讲 ListArray ,ListedList,HashMap
//ListArray 它是一个实现了List接口的类 ,List继承collection接口
//调用import java.util.ArrayList包,(这里两者任选其一) 完整的java集合存放在java.util包中
//特点:
1>.List是有序的集合
2>.List可以有重复的元素值
3>.使用索引来精确的访问元素值,
4& ......
class Link
{
private Node head;
public Link(Node head)
{
this.head=head;
}
public void addNode(Node node)
{
Node p=head;
while(true)
{
if(!p.hasNext())
{
p.setNext(node);
break;
}
p=p.getNext();
}
}
//插入节
public void insertNode(Node p,Node q)
{
q.setNext(p.getNext());
p.se ......