我正在尝试在java中的播放列表中实现。唯一的问题是populatePlaylist()有点慢,需要锁定。我已经编写了这段代码,但似乎没有用。
private static final Lock lock = new ReentrantLock();
public Playlist(Context context, int length, boolean isLocked) {
lock.lock();
this.mContext = context;
this.populatePlaylist(length);
// If the playlist is locked we do not unlock it.
// wait for someone to do it manually.
if (!isLocked)
lock.unlock();
}
public void unlock() {
lock.unlock();
}
第二次调用构造函数时,即使从未调用unlock(),它也会执行所有代码。
编辑:这是我尝试做的事情。播放列表类只是播放列表的表示(惊讶:))。填充播放列表可能有点慢生成,所以我在程序的不同部分之间共享播放列表类,以避免多次加载播放列表。 是的,播放列表仅在每个帖子中创建一次。一种是UI模式,一旦它是后台线程,一旦其他地方也是如此。
播放列表是静态的。在“populateplaylist”里面,代码看起来有点像这样:
if (playlist.isEmpty()) { create_playlist } else {nothing}