avatar
我该怎么办?# Engineering - 工程
J*G
1
在少数民族风情系列里面,曾经介绍过内地彝族歌手阿果,和她翻唱的彝族经典民歌
赶圩归来阿哩哩。
除了声线甜美之外,阿果的假声让人听起来也是万分舒服。她演绎的另外两首歌曲,都
有非常棒的假声运用。
1、闪亮的日子
这首罗大佑词曲的经典民歌,自刘文正在电影 闪亮的日子 里首唱之后,被无数人翻唱
,罗大佑自己也曾拿回来自己演唱。在所有女声的翻唱版本里面,我最喜欢两个,一个
是郑怡在1993年 流行岁月大师之旅--罗大佑 专辑里的翻唱;另外一个是阿果在2005年
凉山的蓝月亮 专辑里的翻唱。
郑怡的翻唱,情感表现力非常到位。到了九十年代,郑怡的声音不再如年轻时候那样百
折不挠地勇往直前,变得沉静内敛。歌曲中副歌部分的高音,郑怡处理起来,毫不费力
,游刃有余。
阿果的高音虽然不能如郑怡般挥洒自如,却另辟蹊径,运用假声表现副歌部分的高音,
是迄今为止唯一用假声演唱 闪亮的日子 的歌手,但假声的运用在歌中非常恰当到位。
郑怡版本听歌链接:
http://www.imusic.cn/player/play.asp?id=126884|
阿果版本听歌链接:
http://www.imusic.cn/pla
avatar
m*y
2
我要实现一个简单的web server,不需要考虑过载之类太复杂的情况,就假定有20个左
右的clients会同时连接上来。需要对于每一个进来的client都分一个thread去处理。
我做了一个clientHandler class
public class ClientHandler implements Runnable{
private Socket imcoming; //client
private BufferredReader reader; //read from client socket
private PrintWriter writer; //write to client socket
public void clientInterpreter(){
//处理client的各种请求
}

public void run(){
clientInterpreter();
}

private int methodA(String filePath){
File afile = new File(file
avatar
w*e
3
几年前,与一个其他学校的教授合作一个课题。那是他的课题,他搞来了钱,但不太懂
怎么做,于是请我跟他合作。我对那个课题很感兴趣,尽管没有分到资金,也同意合作
了,他也答应,在下次renew合同时给我一部分资金。
没有什么协议或者合同,唯一有点官方性质的是,当时我让他给我的系主任写了封信,
讲,我们会一起做这个课题,将来一起发表文章和找funding. 就这样我们就做起来。
我的几个学生参加了课题,一做就是一年多。 课题做得差不多了,他就不提下一轮的
事情了。第2轮的时候就干脆抛开我们自己做了。当时觉得很窝火,可也没办法。更窝
火的是,他不让我们写论文。我的学生写了篇论文,他不让发表。但后来他们写了几篇
论文,却没有我和我学生们的名字,甚至连感谢里都没有。就好像跟我们没有任何关系。
现在该怎么出来这个事情合适呢? 如果什么都不做,对我们太不公平了。
avatar
m*r
4
还是喜欢郑怡的多一些。

【在 J*G 的大作中提到】
: 在少数民族风情系列里面,曾经介绍过内地彝族歌手阿果,和她翻唱的彝族经典民歌
: 赶圩归来阿哩哩。
: 除了声线甜美之外,阿果的假声让人听起来也是万分舒服。她演绎的另外两首歌曲,都
: 有非常棒的假声运用。
: 1、闪亮的日子
: 这首罗大佑词曲的经典民歌,自刘文正在电影 闪亮的日子 里首唱之后,被无数人翻唱
: ,罗大佑自己也曾拿回来自己演唱。在所有女声的翻唱版本里面,我最喜欢两个,一个
: 是郑怡在1993年 流行岁月大师之旅--罗大佑 专辑里的翻唱;另外一个是阿果在2005年
: 凉山的蓝月亮 专辑里的翻唱。
: 郑怡的翻唱,情感表现力非常到位。到了九十年代,郑怡的声音不再如年轻时候那样百

avatar
q*u
5
要不要sychronized关键字和是不是implements runnable是两个问题,不要扯到一起去。
照你这个handler, 所有的handler thread如果有同时update/write某个相同资源的时
候,再用synchronized
具体入门代码查java network programming
Buffered
receiver -> mission queue -> worker thread in worker(handler) pool
|
^this must be syned

我要实现一个简单的web server,不需要考虑过载之类太复杂的情况,就假定有20个左
右的clients会同时连接上来。需要对于每一个进来的client都分一个thread去处理。
我做了一个clientHandler class
public class ClientHandler implements Runnable{
private Socket imcoming; //c

【在 m*****y 的大作中提到】
: 我要实现一个简单的web server,不需要考虑过载之类太复杂的情况,就假定有20个左
: 右的clients会同时连接上来。需要对于每一个进来的client都分一个thread去处理。
: 我做了一个clientHandler class
: public class ClientHandler implements Runnable{
: private Socket imcoming; //client
: private BufferredReader reader; //read from client socket
: private PrintWriter writer; //write to client socket
: public void clientInterpreter(){
: //处理client的各种请求
: }

avatar
j*x
6
我靠,不只是学生被欺负,老板也被欺负。什么市道

系。

【在 w****e 的大作中提到】
: 几年前,与一个其他学校的教授合作一个课题。那是他的课题,他搞来了钱,但不太懂
: 怎么做,于是请我跟他合作。我对那个课题很感兴趣,尽管没有分到资金,也同意合作
: 了,他也答应,在下次renew合同时给我一部分资金。
: 没有什么协议或者合同,唯一有点官方性质的是,当时我让他给我的系主任写了封信,
: 讲,我们会一起做这个课题,将来一起发表文章和找funding. 就这样我们就做起来。
: 我的几个学生参加了课题,一做就是一年多。 课题做得差不多了,他就不提下一轮的
: 事情了。第2轮的时候就干脆抛开我们自己做了。当时觉得很窝火,可也没办法。更窝
: 火的是,他不让我们写论文。我的学生写了篇论文,他不让发表。但后来他们写了几篇
: 论文,却没有我和我学生们的名字,甚至连感谢里都没有。就好像跟我们没有任何关系。
: 现在该怎么出来这个事情合适呢? 如果什么都不做,对我们太不公平了。

avatar
J*G
7
我也是。阿果用假声唱,就是觉得满新鲜的。。。

【在 m****r 的大作中提到】
: 还是喜欢郑怡的多一些。
avatar
m*y
8
哦谢谢!
我的server是这样写的:
public class MyAppServer {
private static final int PORT = 8000;
public static void main(String[] args) {
try {
ServerSocket socket = new ServerSocket(PORT);
try {
while (true) {
final Socket connection = socket.accept();
Runnable task = new ClientHandler(connection);
new Thread(task).start();
}
} catch (IOException e1) {
System.err.println("Error while accepting connection on port " + PORT);
} finally {


【在 q*********u 的大作中提到】
: 要不要sychronized关键字和是不是implements runnable是两个问题,不要扯到一起去。
: 照你这个handler, 所有的handler thread如果有同时update/write某个相同资源的时
: 候,再用synchronized
: 具体入门代码查java network programming
: Buffered
: receiver -> mission queue -> worker thread in worker(handler) pool
: |
: ^this must be syned
:
: 我要实现一个简单的web server,不需要考虑过载之类太复杂的情况,就假定有20个左

avatar
c*4
9
你跟他的所有的email联系的内容都保留了没有?
然后告诉他,这活是我们干的,你要是文章里不加作者,大家走着瞧。
对这样的人,你不一硬一点,就是好欺负啊。
下一轮可以不管,但是这一轮你干了活了,结果你不能白送给人家啊。
avatar
B*n
10
JGG怎么评价孟庭苇的这版闪亮的日子?
http://www.youtube.com/watch?v=iJKGkFscL4k&feature=related

【在 J*G 的大作中提到】
: 在少数民族风情系列里面,曾经介绍过内地彝族歌手阿果,和她翻唱的彝族经典民歌
: 赶圩归来阿哩哩。
: 除了声线甜美之外,阿果的假声让人听起来也是万分舒服。她演绎的另外两首歌曲,都
: 有非常棒的假声运用。
: 1、闪亮的日子
: 这首罗大佑词曲的经典民歌,自刘文正在电影 闪亮的日子 里首唱之后,被无数人翻唱
: ,罗大佑自己也曾拿回来自己演唱。在所有女声的翻唱版本里面,我最喜欢两个,一个
: 是郑怡在1993年 流行岁月大师之旅--罗大佑 专辑里的翻唱;另外一个是阿果在2005年
: 凉山的蓝月亮 专辑里的翻唱。
: 郑怡的翻唱,情感表现力非常到位。到了九十年代,郑怡的声音不再如年轻时候那样百

avatar
g*g
11
For your case, this is fine. Normally you could have
potentially unlimited concurrent users, and you want to
use a threadpool, which could 1, limit the number of
threads, 2, reuse threads.
That's when the concurrency kicks in.

【在 m*****y 的大作中提到】
: 哦谢谢!
: 我的server是这样写的:
: public class MyAppServer {
: private static final int PORT = 8000;
: public static void main(String[] args) {
: try {
: ServerSocket socket = new ServerSocket(PORT);
: try {
: while (true) {
: final Socket connection = socket.accept();

avatar
J*G
12
嗯,写这篇的时候其实刚刚听了孟庭苇的版本,还不错,中规中矩。编曲是罗大佑,可
能更能体现罗大佑本来想把这首歌唱成什么样子。没有提到这一版,是有点担心跑题,
本来是想介绍一下阿果,结果成了闪亮的日子各个版本的讨论。所以,只把最喜欢的那
一版郑怡的,拿出来说了下。
其实裘海正也翻唱过这首歌,她是刘文正的得意弟子,她1987年出的个人第一张专辑就
是 闪亮的日子,有刘文正把自己的招牌歌让弟子翻唱提携弟子的意思。裘海正唱得也
不错,她的版本是我第一次听到的 闪亮的日子。:)
裘海正版听歌链接:
http://www.imusic.cn/player/play.asp?id=200046|

【在 B******n 的大作中提到】
: JGG怎么评价孟庭苇的这版闪亮的日子?
: http://www.youtube.com/watch?v=iJKGkFscL4k&feature=related

avatar
q*u
13
这个server是典型的教科书的初级例子,如果你的要求就是几个client的话,应该就可
以了。
深入下去的话,东西就多了,比如workers thread pool和connection queue, 还有
workers的数量,这个讲究大了,不是拍拍脑袋定的
socket这个东西里面可以设置的buffer有好几个,可以优化.

【在 m*****y 的大作中提到】
: 哦谢谢!
: 我的server是这样写的:
: public class MyAppServer {
: private static final int PORT = 8000;
: public static void main(String[] args) {
: try {
: ServerSocket socket = new ServerSocket(PORT);
: try {
: while (true) {
: final Socket connection = socket.accept();

avatar
B*n
14
学习了

【在 J*G 的大作中提到】
: 嗯,写这篇的时候其实刚刚听了孟庭苇的版本,还不错,中规中矩。编曲是罗大佑,可
: 能更能体现罗大佑本来想把这首歌唱成什么样子。没有提到这一版,是有点担心跑题,
: 本来是想介绍一下阿果,结果成了闪亮的日子各个版本的讨论。所以,只把最喜欢的那
: 一版郑怡的,拿出来说了下。
: 其实裘海正也翻唱过这首歌,她是刘文正的得意弟子,她1987年出的个人第一张专辑就
: 是 闪亮的日子,有刘文正把自己的招牌歌让弟子翻唱提携弟子的意思。裘海正唱得也
: 不错,她的版本是我第一次听到的 闪亮的日子。:)
: 裘海正版听歌链接:
: http://www.imusic.cn/player/play.asp?id=200046|

avatar
m*y
15
多谢各位耐心指点。我刚刚接触多线程,看了一堆书,实践的还不多。
对于我这个例子,各位前辈看看我说的对不对:
首先,每当有client要连接我的server的时候,server都会创建一个新的
clientHandler 的Object,然后交给一个thread去运行。假如现在有5个client连进来
,就会有5个clientHandler objects被创建出来,所以clientHandler的那三个private
members: reader, writer, connection就没有concurrency的问题。
然而,这5个clientHandler对本地文件进行操作的话,就会出现concurrency的情况,
要避免出现问题,就要给那个private int methodA(String filePath)方法加上
synchronized关键字。
另外还有一句题外话,我这么设计是不是不太合理?是不是应该内存中就只出现一个
clientHandler object去处理这5个client连接?其它的要用到thread pool的情况,我
也在书本上看到了,现在暂时还没遇到

【在 q*********u 的大作中提到】
: 这个server是典型的教科书的初级例子,如果你的要求就是几个client的话,应该就可
: 以了。
: 深入下去的话,东西就多了,比如workers thread pool和connection queue, 还有
: workers的数量,这个讲究大了,不是拍拍脑袋定的
: socket这个东西里面可以设置的buffer有好几个,可以优化.

avatar
q*u
16
Tuning the pool size
Tuning the size of a thread pool is largely a matter of avoiding two
mistakes: having too few threads or too many threads. Fortunately, for most
applications the middle ground between too few and too many is fairly wide.
Recall that there are two primary advantages to using threading in
applications: allowing processing to continue while waiting for slow
operations such as I/O, and exploiting the availability of multiple
processors. In a compute-bound application running on

【在 m*****y 的大作中提到】
: 多谢各位耐心指点。我刚刚接触多线程,看了一堆书,实践的还不多。
: 对于我这个例子,各位前辈看看我说的对不对:
: 首先,每当有client要连接我的server的时候,server都会创建一个新的
: clientHandler 的Object,然后交给一个thread去运行。假如现在有5个client连进来
: ,就会有5个clientHandler objects被创建出来,所以clientHandler的那三个private
: members: reader, writer, connection就没有concurrency的问题。
: 然而,这5个clientHandler对本地文件进行操作的话,就会出现concurrency的情况,
: 要避免出现问题,就要给那个private int methodA(String filePath)方法加上
: synchronized关键字。
: 另外还有一句题外话,我这么设计是不是不太合理?是不是应该内存中就只出现一个

avatar
g*g
17
You have to synchronize on the class lock in your case,
or your can use FileLock

private

【在 m*****y 的大作中提到】
: 多谢各位耐心指点。我刚刚接触多线程,看了一堆书,实践的还不多。
: 对于我这个例子,各位前辈看看我说的对不对:
: 首先,每当有client要连接我的server的时候,server都会创建一个新的
: clientHandler 的Object,然后交给一个thread去运行。假如现在有5个client连进来
: ,就会有5个clientHandler objects被创建出来,所以clientHandler的那三个private
: members: reader, writer, connection就没有concurrency的问题。
: 然而,这5个clientHandler对本地文件进行操作的话,就会出现concurrency的情况,
: 要避免出现问题,就要给那个private int methodA(String filePath)方法加上
: synchronized关键字。
: 另外还有一句题外话,我这么设计是不是不太合理?是不是应该内存中就只出现一个

avatar
m*y
18
高手,咱们先别说thread pool了,先说前面简单的东西我理解的对不对吧,谢谢了。

most
machine
threads
Indeed

【在 q*********u 的大作中提到】
: Tuning the pool size
: Tuning the size of a thread pool is largely a matter of avoiding two
: mistakes: having too few threads or too many threads. Fortunately, for most
: applications the middle ground between too few and too many is fairly wide.
: Recall that there are two primary advantages to using threading in
: applications: allowing processing to continue while waiting for slow
: operations such as I/O, and exploiting the availability of multiple
: processors. In a compute-bound application running on

avatar
m*y
19
哦,你的意思是说这样的么,,比如那个 methodA
public int methodsA(String filePath){
syncronized(this){
//file manipulation here...
}
}

【在 g*****g 的大作中提到】
: You have to synchronize on the class lock in your case,
: or your can use FileLock
:
: private

avatar
g*g
20
No, this is not class lock. You have to sync on blahblah.class

【在 m*****y 的大作中提到】
: 哦,你的意思是说这样的么,,比如那个 methodA
: public int methodsA(String filePath){
: syncronized(this){
: //file manipulation here...
: }
: }

avatar
m*y
21
晕了,给个example?谢谢

【在 g*****g 的大作中提到】
: No, this is not class lock. You have to sync on blahblah.class
avatar
m*y
22
能不能问一下,这种情况为什么一定要class lock?
你的意思是说methodA应该写成
public static syncronized int MethodA(String filePath){
//file operations..
}
这样的吧?

【在 g*****g 的大作中提到】
: No, this is not class lock. You have to sync on blahblah.class
avatar
g*g
23
Because they are different objects, this "this" is different from
that "this"

【在 m*****y 的大作中提到】
: 能不能问一下,这种情况为什么一定要class lock?
: 你的意思是说methodA应该写成
: public static syncronized int MethodA(String filePath){
: //file operations..
: }
: 这样的吧?

avatar
m*y
24
明白了,多谢!

【在 g*****g 的大作中提到】
: Because they are different objects, this "this" is different from
: that "this"

avatar
m*t
25
If we are worried by possible race conditions on the files being
manipulated, just use file level locks. There is no point synchronizing
in the code as far as I can see.
avatar
m*y
26
file locks跟操作系统有关吧?

【在 m******t 的大作中提到】
: If we are worried by possible race conditions on the files being
: manipulated, just use file level locks. There is no point synchronizing
: in the code as far as I can see.

avatar
m*t
27

There is a FileLock API.

【在 m*****y 的大作中提到】
: file locks跟操作系统有关吧?
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。