当前位置: 首页 > news >正文

湖南城市建设技术学院官方网站第八章 电子商务网站建设课件

湖南城市建设技术学院官方网站,第八章 电子商务网站建设课件,做网站要多少,wordpress怎么适应手机端1. ThreadLocal的使用方式 (1) 在关联数据类中创建private static ThreadLocal 在下面的类中#xff0c;私有静态 ThreadLocal 实例#xff08;serialNum#xff09;为调用该类的静态 SerialNum.get() 方法的每个 线程维护了一个“序列号”#xff0c;该方法将返回当前… 1.  ThreadLocal的使用方式  (1)  在关联数据类中创建private static ThreadLocal  在下面的类中私有静态 ThreadLocal 实例serialNum为调用该类的静态 SerialNum.get() 方法的每个 线程维护了一个“序列号”该方法将返回当前线程的序列号。线程的序列号是在第一次调用 SerialNum.get() 时 分配的并在后续调用中不会更改。  public class SerialNum {  // The next serial number to be assigned     private static int nextSerialNum  0;     private static ThreadLocal serialNum new ThreadLocal() {     protected synchronized Object initialValue() {     return new Integer(nextSerialNum);     }     };     public static int get() {     return ((Integer) (serialNum.get())).intValue();     }    } 另一个例子也是私有静态 ThreadLocal 实例  public class ThreadContext {   private String userId;   private Long transactionId;    private static ThreadLocal threadLocal new ThreadLocal(){  Override  protected ThreadContext initialValue() {  return new ThreadContext();   }  };   public static ThreadContext get() {  return threadLocal.get();   }   public String getUserId() { return userId;   }   public void setUserId(String userId) {  this.userId userId;  }   public Long getTransactionId() {  return transactionId;  }   public void setTransactionId(Long transactionId) {  this.transactionId transactionId;  }  } 补充在JDK的API对ThreadLocal私有化的说明。并举例‘线程唯一标识符’ UniqueThreadIdGenerator 大家学习是可以结合官方API来学习。  2.  在Util类中创建ThreadLocal  这是上面用法的扩展即把ThreadLocal的创建放到工具类中。  public class HibernateUtil {   private static Log log LogFactory.getLog(HibernateUtil.class);   private static final SessionFactory sessionFactory;     //定义SessionFactory  static {  try {  // 通过默认配置文件hibernate.cfg.xml创建SessionFactory  sessionFactory new Configuration().configure().buildSessionFactory();  } catch (Throwable ex) {   log.error(初始化SessionFactory失败, ex);  throw new ExceptionInInitializerError(ex);   }  }  //创建线程局部变量session用来保存Hibernate的Session  public static final ThreadLocal session new ThreadLocal();  /**  * 获取当前线程中的Session  * return Session  * throws HibernateException   */  public static Session currentSession() throws HibernateException { Session s (Session) session.get();   // 如果Session还没有打开则新开一个Session   if (s null) {  s sessionFactory.openSession();   session.set(s);         //将新开的Session保存到线程局部变量中   }  return s;  }  public static void closeSession() throws HibernateException {  //获取线程局部变量并强制转换为Session类型   Session s (Session) session.get();   session.set(null);  if (s ! null)  s.close();  } } 3.  在Runnable中创建ThreadLocal  在线程类内部创建ThreadLocal基本步骤如下  ①、在多线程的类如ThreadDemo类中创建一个ThreadLocal对象threadXxx用来保存线程间 需要隔离处理的对象xxx。  ②、在ThreadDemo类中创建一个获取要隔离访问的数据的方法getXxx()在方法中判断若 ThreadLocal对象为null时候应该new()一个隔离访问类型的对象并强制转换为要应用的类型  ③、在ThreadDemo类的run()方法中通过调用getXxx()方法获取要操作的数据这样可以保证每个线 程对应一个数据对象在任何时刻都操作的是这个对象。  public class ThreadLocalTest implements Runnable{  ThreadLocalStuden studenThreadLocal  new ThreadLocalStuden();  Override  public void run() {  String currentThreadName  Thread.currentThread().getName();  System.out.println(currentThreadName  is running...); Random random new Random();  int age random.nextInt(100);   System.out.println(currentThreadName  is set age:   age);  Studen  studen getStudent(); //通过这个方法为每个线程都独立的 new 一个 student 对象每个线程的的 student对象都可以设置不同的值  studen.setAge(age);  System.out.println(currentThreadName  is first get age: studen.getAge());  try { Thread.sleep(500);  } catch (InterruptedException e) { e.printStackTrace();  }  System.out.println( currentThreadName  is second get age: studen.getAge()); } private Studen getStudent() {  Studen studen studenThreadLocal.get();  if (null studen) { studen new Studen();  studenThreadLocal.set(studen);  } return studen; } public static void main(String[] args) {  ThreadLocalTest t new ThreadLocalTest(); Thread t1 new Thread(t,Thread A);  Thread t2 new Thread(t,Thread B);  t1.start(); t2.start(); } } class Studen{ int age; public int getAge() { return age; } public void setAge(int age) {  this.age age; }
http://www.hkea.cn/news/14322040/

相关文章:

  • 网站备案说明wordpress代码块
  • 各种网站底部图标代码个人单页网站模板
  • 全国工商企业查询网廊坊百度快速优化排名
  • 零基础网站建设视频教程网站商城的建设
  • 备案查询站长工具品牌网站建设有哪些内容
  • dede图片网站模板网站建设需要的图片怎么弄
  • wordpress装多站点红铃铛网站建设
  • dw对网站建设有哪些作用安全的网站建设公司
  • 中心网站设计做网站后有人抢注关键词
  • 企业网站源码搭建搜索引擎营销总结
  • 网站开发前台怎么样建设全网营销型网站
  • 酒仙网技术开发与网站建设方面创意图片
  • 如何查询网站备案信息查询长春财经学院多大
  • 西部数码网站站点谷歌商店paypal三件套
  • 站内优化网站怎么做兰州市网站建设公司
  • 有没有做公章的网站百姓网二手买卖
  • 小网站建设山西企业模板建站信息
  • 北京做网站建设的公司排名编程语言排行榜
  • 江苏省建设培训网站什么是网站的栏目和板块
  • 马鞍山网站建设开发网页qq登录保护不让用
  • 网站备案 网站怎么把网站设置为信任网站
  • 做网站 做推广需要知道什么山东商祺网站建设优化
  • 常州企业免费建站找网站漏洞赚钱怎么做的
  • 如何获得网站济南地产行业网站开发
  • 站长之家 wordpress营销型网站是什么
  • 厦门网站建设方案维护河北中尊建设工程有限公司官方网站
  • 去哪找人做网站网站建设列表横向
  • 营销型企业网站有哪些类型东莞设计兼职网站建设
  • 吉林电商网站建设网站不做301可以吗
  • 建h5网站费用新鸿儒做网站