小编bvk*_*256的帖子

理解这个Clojure代码

我是Clojure的新手,我一直在努力实现一些并发代码.我在网上找到了这个代码.有一个警告说它不是在Clojure中进行并发的正确方法,但无论如何我想要理解这个代码.

(def *readers* (map #(agent %) '("one" "two" "three")))
(def *writers* (map #(agent %) '("four" "five")))
(def *mutex* (agent :unlocked))
(def *value* 0)

; mutex implementation
(defn lock [state who success-fn fail-fn]
  (send who (if (= state :locked) fail-fn success-fn))
  :locked)

(defn unlock [mutex]
  :unlocked)

; Must be invoked with send-off since this handler blocks
(defn rand-sleep [state next-fn]
  (Thread/sleep (rand-int 5))
  (send *agent* next-fn)
  state)

; Reader functions
(declare try-read)

(defn reader-got-lock [name]
  (println (format "Thread %s says that …
Run Code Online (Sandbox Code Playgroud)

concurrency clojure

4
推荐指数
1
解决办法
416
查看次数

将彩虹颜色映射到RGB

假设我有一个带有构造函数的类RainbowColorsMapper RainbowColorsMapper(int n),其中n> = 2.现在我希望连续映射彩虹色从红色到紫色,我使用的方法mapper.getColor(int number)是低值对应红色端,高度接近n到紫色端.如果n = 2,则mapper.getColor(0)返回光谱的大部分左侧颜色(接近红色),并mapper.getColor(1)返回最正确的颜色.与自动缩放的较大n相同.

我的问题:这可以相对容易地完成,如果是,那么算法的建议是什么?

java rgb

3
推荐指数
1
解决办法
1万
查看次数

setPreviewCallback()和setPreviewCallbackWithBuffer()

我有一个代码,可以从前置摄像头访问帧流,并将它们推送到后台线程处理.现在我根本没有使用任何缓冲区,一切正常(在我的手机上).

那么问题setPreviewCallback()setPreviewCallbackWithBuffer()这个特定的任务有何不同?

android android-camera

3
推荐指数
1
解决办法
1538
查看次数

这两个构造函数调用之间的区别

可能重复:
类型名称后的括号是否与new有所不同?

我相信这个问题已经被问到了,但我找不到快速搜索.

Foo ob* = new Foo; 

Foo ob* = new Foo();
Run Code Online (Sandbox Code Playgroud)

这两种在C++中创建对象的方法有区别吗?如果没有,那么其中一个被认为是不好的做法?每个编译器都会对它进行相同的处理吗?

c++ constructor

1
推荐指数
1
解决办法
283
查看次数

将EditText限制为带符号的十进制数

我正在编写的应用程序必须向用户显示一个动态创建的EditText小部件表.

我目前的代码:

      /**
      * Create and display the table of EditTexts on the screen
      * @param x Number of columns
      * @param y Number of rows
      */
        private void createTable(int x, int y) {
            TableLayout table = (TableLayout) findViewById(R.id.TableLayout01);
            etGrid = new EditText[y][x];
            for (int i = 0; i < y; i++) {
                TableRow row = new TableRow(this);
                for (int j = 0; j < x; j++) {
                    EditText et = new EditText(this);

                    et.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL 
                              | InputType.TYPE_NUMBER_FLAG_SIGNED);

                    et.setSingleLine();
                    et.setMinimumWidth(getWindowManager().getDefaultDisplay().getWidth()/x); …
Run Code Online (Sandbox Code Playgroud)

android android-widget

1
推荐指数
2
解决办法
4253
查看次数

Apache日志:按服务字节计算前10个URL

我有一个Apache日志格式文件.示例字符串:

fj5020.inktomisearch.com - - [01/Oct/2006:06:35:59 -0700] "GET /example/When/200x/2005/04/27/A380 HTTP/1.0" 200 4776 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)"
Run Code Online (Sandbox Code Playgroud)

其中4776以字节为单位提供页面大小.我想按服务流量输出前10个网址.我坚持总结每个唯一页面的所有大小的问题(页面的大小也可以是变量).有任何想法如何在Bash或/和AWK中做到这一点?

linux bash awk

0
推荐指数
1
解决办法
1663
查看次数