class Task1 implements Runnable {
@Override
public void run() {
ContentValues cv1 = new ContentValues();
cv1.put("name", "李");
cv1.put("age", 17);
db.insert("person", null, cv1);
}
}
class Task2 implements Runnable {
@Override
public void run() {
ContentValues cv1 = new ContentValues();
cv1.put("name", "张");
cv1.put("age", 18);
ContentValues cv2 = new ContentValues();
cv2.put("name", "孙");
cv2.put("age", 25);
for (int i = 0; i < 10; i++) {
db.insert("person", null, cv1);
db.insert("person", null, cv2);
}
}
}
class Task3 implements Runnable {
@Override
public void run() {
ContentValues cv1 = new ContentValues();
cv1.put("name", "王");
cv1.put("age", 22);
ContentValues cv2 = new ContentValues();
cv2.put("name", "赵");
cv2.put("age", 80);
ContentValues cv3 = new ContentValues();
cv3.put("name", "jesse");
cv3.put("age", 99);
for (int i = 0; i < 10; i++) {
db.insert("person", null, cv1);
db.insert("person", null, cv2);
db.insert("person", null, cv3);
}
}
}
想让这三个方法同步用synchronized 同步 要在哪里修改 怎么改呢?
你可以将db作为全局变量,锁住db
class Task1 implements Runnable {
@Override
public void run() {
synchronized (db) {
ContentValues cv1 = new ContentValues();
cv1.put("name", "李");
cv1.put("age", 17);
db.insert("person", null, cv1);
}
}
}
class Task2 implements Runnable {
@Override
public void run() {
synchronized (db){
ContentValues cv1 = new ContentValues();
cv1.put("name", "张");
cv1.put("age", 18);
ContentValues cv2 = new ContentValues();
cv2.put("name", "孙");
cv2.put("age", 25);
for (int i = 0; i < 10; i++) {
db.insert("person", null, cv1);
db.insert("person", null, cv2);
}}
}
}
class Task3 implements Runnable {
@Override
public void run() {
synchronized (db) {
ContentValues cv1 = new ContentValues();
cv1.put("name", "王");
cv1.put("age", 22);
ContentValues cv2 = new ContentValues();
cv2.put("name", "赵");
cv2.put("age", 80);
ContentValues cv3 = new ContentValues();
cv3.put("name", "jesse");
cv3.put("age", 99);
for (int i = 0; i < 10; i++) {
db.insert("person", null, cv1);
db.insert("person", null, cv2);
db.insert("person", null, cv3);
}
}
}
}
我是这样写的 不过调用的时候不起作用啊