-
1.线程(Thread)
线程:是程序中一个单一的执行路径或者控制途径
多线程:在单个程序中同时运行多个线程完成不同的工作成为多线程
eg:当用户发起一个请求,服务器收到请求后处理所有的业务逻辑返回的结果就是一个线程
当客户端多个请求同时请求服务器,这就是多线程(开发) -
2.共享资源
允许被不同的线程访问的资源
共享资源时多线程允许被不止一个线程访问的类变量或者实例变量 -
3.锁
当多个线程共同使用共享资源的时候,就会出现资源争抢的情况,锁是解决这种冲突的机制
eg:上厕所 -
4.线程安全
一个资源在可以被多个线程中对象访问的时候,不会出现任何冲突,这种情况就是线程安全
造成线程不安全的因素:存在多个线程同时修改一个共享资源 -
5.如何避免线程不安全
①.尽量使用局部变量
②.尽量不做修改共享资源的操作
③.对共享资源加锁 -
6.stringBuffer
①.支持可变长度
②.可以修改字符串
③.线程安全的
④.效率低
- 7.sringBuider
①.支持可变长度
②.可以修改字符串
③.线程不安全的
④.效率高
StringBuffer和StringBuider类支持字符串拼接,比如 当我们Java代码中嵌入SQL代码时,SQL代码过长不容易检查可以使用这两个类来拼接
例如`
StringBuffer str1 = new StringBuffer("USE student");
str1.append("SELECT id,name,sex,age FROM user ");
str1.append("WHERE Name =? AND sex =? ");
str1.append("ORDER BY id DESC ");
System.out.println(str1.toString());
// 删除指定范围的字符串
// str1.delete(0, 10);
// System.out.println(str1.toString());
StringBuilder str2 = new StringBuilder("中国");
str2.append("北京");
str2.append("朝阳区");
System.out.println(str2.toString());
运行结果如下