如何实现Java多线性同步读写数据

Java多线性同步进行是一个很重要的东西,我们不少的时候都需要用到这些代码。但是有人还不能很好的进行读写同步的相关代码编写。下面我们就看看如何才能正确的进行Java多线性同步的编写。

创新互联公司主营临武网站建设的网络公司,主营网站建设方案,app软件定制开发,临武h5重庆小程序开发搭建,临武网站营销推广欢迎临武等地区企业咨询

 
 
 
  1. public class SynTest ...{
  2. private String firstName, lastName;
  3. private synchronized String getName() ...{
  4. String result = firstName + " " + lastName;
  5. return result;
  6. }
  7. private synchronized void setName(String firstName,
     String lastName) ...{
  8. print("entering setName");
  9. this.firstName = firstName;
  10. print("Set first name have done firstName=" + 
    this.firstName);
  11. try ...{
  12. Thread.sleep(1000);
  13. } catch (InterruptedException e) ...{
  14. }
  15. this.lastName = lastName;
  16. print("set last name have done,and leave setName() 
    method.firstName="
  17. + this.firstName + " lastName=" + this.lastName);
  18. }
  19. private static void print(String msg) ...{
  20. String thread = Thread.currentThread().getName();
  21. System.out.println(thread + ": " + msg);
  22. }
  23. public static void main(String[] args) ...{
  24. // 必需声明为final,否则runnable里面的run()方法不能访问。
  25. final SynTest test1 = new SynTest();
  26. // 设置初始值
  27. test1.setName("arzu", "guli");
  28. Runnable run1 = new Runnable() ...{
  29. public void run() ...{
  30. test1.setName("kang", "midi");
  31. }
  32. };
  33. // 修改名字线程
  34. Thread threadOne = new Thread(run1, "threadOne");
  35. threadOne.start();
  36. try ...{
  37. Thread.sleep(200);
  38. } catch (InterruptedException e) ...{
  39. }
  40. Runnable run2 = new Runnable() ...{
  41. public void run() ...{
  42. print("读取" + test1.getName());
  43. }
  44. };
  45. // 读取名字线程
  46. Thread threadTwo = new Thread(run2, "threadTwo");
  47. threadTwo.start();
  48. System.out.println("main() exit");
  49. }
  50. }

以上就是对Java多线性同步的详细介绍。

分享名称:如何实现Java多线性同步读写数据
本文URL:http://www.shufengxianlan.com/qtweb/news10/16010.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联