multi thread test

Hi All.
I want to test by multi thread.(functional test)
as below

* test
class ItemControllerTest < ActionController::TestCase

  self.use_transactional_fixtures = false
  POOL_SIZE = 5

  def setup
    @connection = ActiveRecord::Base.remove_connection

ActiveRecord::Base.establish_connection(@connection.merge({:allow_concurrency
=> true, :pool => POOL_SIZE}))
    activate_authlogic
  end

  test "multi thread test" do
    user = accounts(:one)
    assert(AdAccountSession.create(user))
    item = items(:one)
    before_count = item.count
    params = {:id => item.id.to_s, :count => 10}
    threads = (1..5).map do
      Thread.new do
        10.times do
          put :update, params
        end
      end
    end
    threads.each(&:join)
  end
  assert_equal before_count + 10 * 5, item.reload.count

end

* controller
class ItemsController < ApplicationController
  def update
    count = params[:count]
    id = params[:id]
    update_sql = "UPDATE items SET count = count + #{count} WHERE id =
#{id}"
    Item.connection.update(update_sql)
    redirect_to(@item, :notice => 'Item was successfully updated.')
    return
  end
end

But raise error
test_samaple(ItemsTransactionControllerTest):
AbstractController::DoubleRenderError: Render and/or redirect were
called multiple times in this action.
Please note that you may only call render OR redirect, and at most
once per action.
Also note that neither redirect nor render terminate execution of the
action,
so if you want to exit an action after redirecting, you need to do
something like "redirect_to(...) and return".

This error isn't raised in case of single thread(threads = (1..1).map
do)
How can I test by multi thread?

appreciate any help.
Thank you
Masaki.