当前位置:  技术问答>java相关

在一个文件被一个线程访问的时候,如何限制它不能再被其他线程访问?

    来源: 互联网  发布时间:2014-12-27

    本文导语:  在一个文件被一个线程访问的时候,如何限制它不能再被其他线程访问? 哪里有这方面的资料? 谢谢!!! | thing in java 对一种特殊的资源——对象中的内存——Java提供了内建的机制来防止它们的冲...

在一个文件被一个线程访问的时候,如何限制它不能再被其他线程访问?
哪里有这方面的资料?
谢谢!!!

|
thing in java
对一种特殊的资源——对象中的内存——Java提供了内建的机制来防止它们的冲突。由于我们通常将数据元素设为从属于private(私有)类,然后只通过方法访问那些内存,所以只需将一个特定的方法设为synchronized(同步的),便可有效地防止冲突。在任何时刻,只可有一个线程调用特定对象的一个synchronized方法(尽管那个线程可以调用多个对象的同步方法)。下面列出简单的synchronized方法:
synchronized void f() { /* ... */ }
synchronized void g() { /* ... */ }
每个对象都包含了一把锁(也叫作“监视器”),它自动成为对象的一部分(不必为此写任何特殊的代码)。调用任何synchronized方法时,对象就会被锁定,不可再调用那个对象的其他任何synchronized方法,除非第一个方法完成了自己的工作,并解除锁定。在上面的例子中,如果为一个对象调用f(),便不能再为同样的对象调用g(),除非f()完成并解除锁定。因此,一个特定对象的所有synchronized方法都共享着一把锁,而且这把锁能防止多个方法对通用内存同时进行写操作(比如同时有多个线程)。
每个类也有自己的一把锁(作为类的Class对象的一部分),所以synchronized static方法可在一个类的范围内被相互间锁定起来,防止与static数据的接触。
注意如果想保护其他某些资源不被多个线程同时访问,可以强制通过synchronized方访问那些资源。


|
使用synchronized修饰符,线程就不会被中断,即阻止其他线程访问资源。
如:public synchronized viod transfer()
   {...}

|
其实这就是一个线程互斥的问题,在java中只要所有线程同步访问即可。

    
 
 

您可能感兴趣的文章:

  • socket实现多文件并发传输,求助多线程实现问题?
  • 如何实现多线程下的文件锁?
  • 每个线程都进行申请文件描述符的操作的话,会不会发生文件描述符申请冲突?
  • 关于多线程写文件的问题,谢谢!
  • Windows下的PHP安装文件线程安全和非线程安全的区别
  • 请问多个线程同时读写同一文件的操作是否安全?
  • 问个多线程网络服务程序的文件操作符的互斥问题
  • 嵌入式linux下线程通信可以用共享文件法吗?
  • 多线程下载中写文件的问题
  • 多线程文件监视器 Fido File Monitor
  • Linux下多线程写入同一个文件
  • 如何使用http下载文件,得到服务器的类型(IIS、apache)最好是多线程的,谢谢
  • codeblocks10.05如何编译带线程的文件
  • linux内核源代码中,在哪个文件的哪个地方可以看到定义线程切换时间片大小?
  • 求助。。。怎样保证并发的多线程不要同时操作同一个文件?
  • 求多线程下文件的读写操作的解决办法
  • php 异步请求文件实现多线程的代码
  • 请教线程里面读取文件的问题
  • 多线程下fgets函数读取文件导致线程挂住
  • 谁能告诉我,做一个象网易那样的聊天室,用什么方法,不要告诉我是用数据库或读写文件,是不是用多线程,socket协议。来讨论者皆有分。
  • 设置sharepoint 2010文档库中的 pdf文件在浏览器中访问的打开方式
  • 在windows可以访问到中文文件名的文件,而在unix下却访问不了,是什么原因?
  • jDK的DOC文件,我解包后,放哪里可以访问到?我想在JCREATER里访问
  • 我的机器装了WINDOWS2000 和 LINUX 7.3 , 请问在LINUX 中如何访问`WIN2K中的文件?同样在WIN2K中如何访问LINUX 中的文件?
  • Linux下的文件打开标志(打开方式)和文件的访问权限有什么不同?
  • 从window上传到linux文件(覆盖同名文件),为什么文件的访问权限会变,怎么避免?
  • ubuntu 中 使用 root 用户 mount 一个文件夹后,一般用户怎么访问这个文件加?
  • jsp文件访问jar文件,路径问题。
  • linux下的php文件放在哪个文件夹下才能访问
  • 高分提问:为何在局域网内可以访问linux机器,然而不能在其文件夹内写入文件?
  • 子进程关闭父进程打开的文件,父进程可以访问该文件吗
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • linux 子目录个数的限制及文件个数的限制
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 用SmartUpload类上传文件有大小限制吗??或者ENCTYPE='multipart/form-data'的form对于上传文件大小有限制??为什么大于1M的文件一上传就显示找不到页面啊!!
  • 执行一程序,向一个文本文件中写入数据,报文件大小超出限制错误!
  • 为嘛CORE文件这么大,装些啥玩意哦,如何限制CORE文件大小
  • 请教/var/adm/wtmpx文件的最大大小是多少?是一个数值还是一个与文件系统的比值?是如何设置大小限制的?谢谢!!
  • 请问UNIX有无文件最大数限制?
  • linux 2G文件限制,急!!!!
  • Oracle 对数据文件大小的限制
  • 请问程序的日志重定向到别日志文件,系统会对该日志文件的大小作限制么
  • 怎样用quota限制某个目录内部的文件大小?
  • 如何调整aix的文件大小限制?
  • 文件描述符的限制?(共享内存)
  • 打开文件的数目限制
  • 如何限制单个用户的存储文件大小?
  • UNIX/LINUX中grep查找文件个数有无限制
  • Linux有文件大小限制吗?
  • jspsmartupload如何使他不限制上传文件大小?
  • pureftpd能否限制单个上传文件大小
  • 如何改变uClinux对势行文件大小的限制?
  • C++ I/O 成员 eof():如果处于文件结尾处则返回true
  • Shell脚本如何递归现实一个文件夹中的文件(文件夹中含有文件夹)
  • WinDows8最新版文件夹加密
  • 求命令:什么命令可以把文件夹下所有的文件按修改时间先后排出来,包括子文件夹里的文件。
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • [提问]Linux下如何把多个.a文件编译一个.so文件,或者把多个.so文件编译成一个.so文件
  • python异常信息堆栈输出到日志文件
  • 请问:proc中的头文件中能包含头文件吗?(感觉如果头文件中包含头文件的话,在链接时就会有错误啊)
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 我要实现当进程打开文件时,根据文件名判断是否符合要求,符合后处理文件,再把文件返回给进程,怎么实现啊


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3